--- pytest attempt 2026-11-01T14:08:02.596003+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-11-01T14:08:04.912539Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-11-01T14:08:04.915427Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( 2026-11-01T14:08:05.419418Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( 2026-11-01T14:08:05.708895Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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.8, pytest-9.1.1, pluggy-1.6.0 -- /home/odh/opendatahub-tests/.venv/bin/python cachedir: .pytest_cache metadata: {'Python': '3.14.8', 'Platform': 'Linux-5.14.0-570.142.1.el9_6.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.1.1', 'pluggy': '1.6.0'}, 'Plugins': {'anyio': '4.14.2', 'langsmith': '0.10.10', '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.5.3'}} rootdir: /home/odh/opendatahub-tests configfile: pytest.ini plugins: anyio-4.14.2, langsmith-0.10.10, 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.5.3 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 218 items / 207 deselected / 11 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-11-01T14:08:06.403050Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-11-01T14:08:06.404555Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-11-01T14:08:06.404707Z [info ] Executing session fixture: admin_client [conftest] 2026-11-01T14:08:06.404861Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-11-01T14:08:06.405021Z [info ] Executing session fixture: dsc_resource [conftest] 2026-11-01T14:08:06.405199Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-11-01T14:08:06.679799Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-11-01T14:08:06.680076Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-11-01T14:08:06.680931Z [info ] Executing session fixture: os_path_environment [conftest] 2026-11-01T14:08:06.681179Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-11-01T14:08:06.681380Z [info ] Executing session fixture: bin_directory [conftest] 2026-11-01T14:08:06.682416Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-11-01T14:08:06.681690Z [warning ] Using previously installed: /workspace/tests-shared/tests-payload/.tools/bin/oc [tests.conftest] name=tests.conftest 2026-11-01T14:08:06.682763Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-11-01T14:08:06.681815Z [info ] OC binary path: /workspace/tests-shared/tests-payload/.tools/bin/oc [tests.conftest] name=tests.conftest 2026-11-01T14:08:06.681857Z [info ] Adding /tmp/pytest-ULsdezbcGmmDsN8A8XkuY4/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-11-01T14:08:06.683070Z [info ] Executing session fixture: nodes [conftest] 2026-11-01T14:08:11.979722Z [info ] Executing session fixture: dsci_resource [conftest] 2026-11-01T14:08:11.979917Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-11-01T14:08:12.047859Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-11-01T14:08:12.048117Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-11-01T14:08:12.048276Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-11-01T14:08:12.047251Z [info ] Check cluster sanity.  [utilities.infra] name=utilities.infra 2026-11-01T14:08:12.048538Z [info ] Verify all nodes are in a healthy condition. [ocp_utilities.infra] 2026-11-01T14:08:12.249886Z [info ] Verify all nodes are schedulable. [ocp_utilities.infra] 2026-11-01T14:08:12.451071Z [info ] Waiting for 120 seconds [0:02:00], retry every 5 seconds. (Function: utilities.infra.wait_for_dsci_status_ready Kwargs: {'dsci_resource': }) [timeout_sampler] 2026-11-01T14:08:12.450525Z [info ] Wait for DSCI default-dsci to be in Ready status. [utilities.infra] name=utilities.infra 2026-11-01T14:08:12.451391Z [info ] Get DSCInitialization default-dsci status [ocp_resources DSCInitialization] 2026-11-01T14:08:12.518438Z [success ] Function: utilities.infra.wait_for_dsci_status_ready succeeded after 7.987022399902344e-05 [0:00:00.000080]. [timeout_sampler] 2026-11-01T14:08:12.518595Z [info ] Waiting for 120 seconds [0:02:00], retry every 5 seconds. (Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': }) [timeout_sampler] 2026-11-01T14:08:12.517984Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-11-01T14:08:12.518874Z [info ] Get DataScienceCluster default-dsc status [ocp_resources DataScienceCluster] 2026-11-01T14:08:12.589388Z [success ] Function: utilities.infra.wait_for_dsc_status_ready succeeded after 5.364418029785156e-05 [0:00:00.000054]. [timeout_sampler] 2026-11-01T14:08:12.589531Z [info ] Executing session fixture: autouse_fixtures [conftest] 2026-11-01T14:08:12.589657Z [info ] Executing session fixture: maas_gateway_api_hostname [conftest] 2026-11-01T14:08:12.589784Z [info ] kind: Ingress api version: config.openshift.io/v1 [ocp_resources.resource] 2026-11-01T14:08:12.723720Z [info ] Executing session fixture: maas_gateway_api [conftest] 2026-11-01T14:08:12.799874Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 [ocp_resources.resource] 2026-11-01T14:08:12.868310Z [info ] Reusing existing gateway openshift-ingress/maas-default-gateway [conftest] name=conftest 2026-11-01T14:08:12.869336Z [info ] Wait for Gateway/maas-default-gateway's 'Programmed' condition to be 'True' [ocp_resources Gateway] 2026-11-01T14:08:12.869458Z [info ] Wait until Gateway maas-default-gateway is created [ocp_resources Gateway] 2026-11-01T14:08:12.869575Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:12.938078Z [success ] Function: lambda: self.exists succeeded after 4.982948303222656e-05 [0:00:00.000050]. [timeout_sampler] 2026-11-01T14:08:12.938287Z [info ] Waiting for 299.9309504032135 seconds [0:04:59.930950], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:13.006814Z [success ] Function: lambda: self.instance succeeded after 3.8623809814453125e-05 [0:00:00.000039]. [timeout_sampler] 2026-11-01T14:08:13.007001Z [info ] ResourceEdit: Backing up old data [ocp_resources.resource] 2026-11-01T14:08:13.076404Z [info ] ResourceEdits: Updating data for resource Gateway maas-default-gateway [ocp_resources.resource] 2026-11-01T14:08:13.076564Z [info ] Update Gateway maas-default-gateway: {'metadata': {'annotations': {'security.opendatahub.io/authorino-tls-bootstrap': 'true'}, 'name': 'maas-default-gateway'}} [ocp_resources Gateway] 2026-11-01T14:08:13.155975Z [info ] Executing session fixture: pytestconfig [conftest] 2026-11-01T14:08:13.156187Z [info ] Executing session fixture: use_unprivileged_client [conftest] 2026-11-01T14:08:13.156299Z [info ] Executing session fixture: kubconfig_filepath [conftest] 2026-11-01T14:08:13.156407Z [info ] Executing session fixture: cluster_authentication [conftest] 2026-11-01T14:08:13.156514Z [info ] kind: Authentication api version: config.openshift.io/v1 [ocp_resources.resource] 2026-11-01T14:08:13.223046Z [info ] Executing session fixture: is_byoidc [conftest] 2026-11-01T14:08:13.290840Z [info ] Executing session fixture: non_admin_user_password [conftest] 2026-11-01T14:08:13.290989Z [info ] Executing session fixture: unprivileged_client [conftest] 2026-11-01T14:08:13.289626Z [warning ] Unprivileged client is not enabled, using admin client [tests.conftest] name=tests.conftest 2026-11-01T14:08:13.291244Z [info ] Executing session fixture: maas_subscription_namespace [conftest] 2026-11-01T14:08:13.356538Z [info ] Namespace models-as-a-service already exists, reusing it [conftest] name=conftest 2026-11-01T14:08:13.357623Z [info ] Executing session fixture: maas_subscription_controller_enabled_latest [conftest] 2026-11-01T14:08:13.357753Z [info ] kind: CustomResourceDefinition api version: apiextensions.k8s.io/v1 [ocp_resources.resource] 2026-11-01T14:08:13.718187Z [info ] ResourceEdit: Backing up old data [ocp_resources.resource] 2026-11-01T14:08:13.788571Z [info ] ResourceEdits: Updating data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-11-01T14:08:13.788745Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {'managementState': 'Managed'}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-11-01T14:08:13.912991Z [info ] Wait for DataScienceCluster/default-dsc's 'ModelsAsServiceReady' condition to be 'True' [ocp_resources DataScienceCluster] 2026-11-01T14:08:13.913264Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-11-01T14:08:13.913424Z [info ] Waiting for 900 seconds [0:15:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:13.982761Z [success ] Function: lambda: self.exists succeeded after 4.410743713378906e-05 [0:00:00.000044]. [timeout_sampler] 2026-11-01T14:08:13.982908Z [info ] Waiting for 899.9301545619965 seconds [0:14:59.930155], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:14.052140Z [success ] Function: lambda: self.instance succeeded after 3.552436828613281e-05 [0:00:00.000036]. [timeout_sampler] 2026-11-01T14:08:14.052311Z [info ] Wait for DataScienceCluster/default-dsc's 'Ready' condition to be 'True' [ocp_resources DataScienceCluster] 2026-11-01T14:08:14.052447Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-11-01T14:08:14.052578Z [info ] Waiting for 600 seconds [0:10:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:14.122213Z [success ] Function: lambda: self.exists succeeded after 2.86102294921875e-05 [0:00:00.000029]. [timeout_sampler] 2026-11-01T14:08:14.122365Z [info ] Waiting for 599.9299471378326 seconds [0:09:59.929947], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:14.192426Z [success ] Function: lambda: self.instance succeeded after 3.361701965332031e-05 [0:00:00.000034]. [timeout_sampler] 2026-11-01T14:08:14.192583Z [info ] Executing session fixture: bbr_gateway_namespace [conftest] 2026-11-01T14:08:14.259228Z [info ] Executing class fixture: bbr_envoy_filter_config_patches [conftest] 2026-11-01T14:08:14.401657Z [info ] kind: EnvoyFilter api version: networking.istio.io/v1alpha3 [ocp_resources.resource] PASSED _ 1 of 11 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-11-01T14:08:14.535505Z [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-11-01T14:08:14.542823Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] PASSED _ 2 of 11 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_post_auth_setup.py::TestBBRPostAuthSetup::test_bbr_post_processing_deployment_ready 2026-11-01T14:08:14.808194Z [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_bbr_post_processing_deployment_ready -------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- PASSED _ 3 of 11 completed, 3 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_post_auth_setup.py::TestBBRPostAuthSetup::test_bbr_post_processing_service_exposes_port_9004 2026-11-01T14:08:15.080185Z [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: TestBBRPostAuthSetup.test_bbr_post_processing_deployment_ready STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------------- test_bbr_post_processing_service_exposes_port_9004 ---------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- PASSED _ 4 of 11 completed, 4 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_post_auth_setup.py::TestBBRPostAuthSetup::test_bbr_post_processing_destination_rule_exists 2026-11-01T14:08:15.215214Z [info ] Service 'openshift-ingress/payload-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: TestBBRPostAuthSetup.test_bbr_post_processing_service_exposes_port_9004 STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_bbr_post_processing_destination_rule_exists ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:15.218023Z [info ] kind: DestinationRule api version: networking.istio.io/v1 [ocp_resources.resource] PASSED _ 5 of 11 completed, 5 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_post_auth_setup.py::TestBBRPostAuthSetup::test_bbr_plugins_configmap_has_expected_plugins 2026-11-01T14:08:15.284507Z [info ] DestinationRule 'openshift-ingress/payload-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  TEST: TestBBRPostAuthSetup.test_bbr_post_processing_destination_rule_exists STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_bbr_plugins_configmap_has_expected_plugins ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:15.287638Z [info ] Waiting for 300 seconds [0:05:00], retry every 5 seconds. (Function: tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils._fetch_bbr_plugins_configmap_data_if_ready Kwargs: {'admin_client': , 'gateway_namespace': 'openshift-ingress'}) [timeout_sampler] PASSED2026-11-01T14:08:15.419487Z [info ] ConfigMap 'openshift-ingress/payload-processing-plugins' has post-auth and pre-auth plugin keys [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 2026-11-01T14:08:15.422611Z [success ] Function: tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils._fetch_bbr_plugins_configmap_data_if_ready succeeded after 4.9114227294921875e-05 [0:00:00.000049]. [timeout_sampler] 2026-11-01T14:08:15.420881Z [info ] Post-auth plugins verified: ['model-provider-resolver', 'api-translation', 'apikey-injection'] [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 2026-11-01T14:08:15.421681Z [info ] Pre-auth plugin 'body-field-to-header' correctly maps 'model' → 'X-Gateway-Model-Name' [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: TestBBRPostAuthSetup.test_bbr_plugins_configmap_has_expected_plugins STATUS: PASSED _ 6 of 11 completed, 6 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_setup.py::TestBBRSetup::test_bbr_pre_processing_deployment_ready ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------------- test_bbr_pre_processing_deployment_ready --------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:15.424824Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] PASSED _ 7 of 11 completed, 7 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_setup.py::TestBBRSetup::test_bbr_pre_processing_service_exposes_port_9004 2026-11-01T14:08:15.691762Z [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 --------------------------------------------------------- PASSED2026-11-01T14:08:15.827445Z [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 _ 8 of 11 completed, 8 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_setup.py::TestBBRSetup::test_bbr_pre_processing_destination_rule_exists  TEST: TestBBRSetup.test_bbr_pre_processing_service_exposes_port_9004 STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_bbr_pre_processing_destination_rule_exists ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:15.830223Z [info ] kind: DestinationRule api version: networking.istio.io/v1 [ocp_resources.resource] PASSED _ 9 of 11 completed, 9 Pass, 0 Fail, 0 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 2026-11-01T14:08:15.896223Z [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  TEST: TestBBRSetup.test_bbr_pre_processing_destination_rule_exists STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------------------- test_aitenant_crd_exists ----------------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:15.899576Z [info ] kind: CustomResourceDefinition api version: apiextensions.k8s.io/v1 [ocp_resources.resource] PASSED2026-11-01T14:08:16.033427Z [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 ------------------------------------------------------- _ 10 of 11 completed, 10 Pass, 0 Fail, 0 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  -------------------------------- test_aitenant_bootstrap_does_not_break_default_tenant -------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-11-01T14:08:16.035984Z [info ] Executing session fixture: aitenant_infra_namespace [conftest] 2026-11-01T14:08:16.104929Z [info ] Executing session fixture: teardown_resources [conftest] 2026-11-01T14:08:16.105155Z [info ] Executing function fixture: aitenant_test_params [conftest] 2026-11-01T14:08:16.105656Z [info ] Executing function fixture: aitenant_bootstrap_gateway [conftest] 2026-11-01T14:08:16.105804Z [info ] Create ConfigMap e2e-aigw-464b1912-config [ocp_resources ConfigMap] 2026-11-01T14:08:16.105943Z [info ] Posting {'apiVersion': 'v1', 'kind': 'ConfigMap', 'metadata': {'name': 'e2e-aigw-464b1912-config', 'namespace': 'openshift-ingress'}, 'data': '*******'} [ocp_resources ConfigMap] 2026-11-01T14:08:16.242957Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 [ocp_resources.resource] 2026-11-01T14:08:16.243091Z [info ] Create Gateway e2e-aigw-464b1912 [ocp_resources Gateway] 2026-11-01T14:08:16.243279Z [info ] Posting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'name': 'e2e-aigw-464b1912', 'namespace': 'openshift-ingress'}, 'spec': {'gatewayClassName': 'openshift-default', 'listeners': [{'name': 'http', 'port': 80, 'protocol': 'HTTP', 'allowedRoutes': {'namespaces': {'from': 'All'}}}, {'name': 'https', 'port': 443, 'protocol': 'HTTPS', 'allowedRoutes': {'namespaces': {'from': 'All'}}, 'tls': {'mode': 'Terminate', 'certificateRefs': [{'group': '', 'kind': 'Secret', 'name': 'data-science-gateway-service-tls'}]}}], 'infrastructure': {'parametersRef': {'group': '', 'kind': 'ConfigMap', 'name': 'e2e-aigw-464b1912-config'}}}} [ocp_resources Gateway] 2026-11-01T14:08:16.389094Z [info ] Executing function fixture: aitenant [conftest] 2026-11-01T14:08:16.471431Z [info ] kind: AITenant api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-11-01T14:08:16.471651Z [info ] Create AITenant e2e-aigw-464b1912 [ocp_resources AITenant] 2026-11-01T14:08:16.471794Z [info ] Posting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'name': 'e2e-aigw-464b1912', 'namespace': 'ai-tenants'}, 'spec': {'gateway': {'name': 'e2e-aigw-464b1912'}}} [ocp_resources AITenant] 2026-11-01T14:08:16.643868Z [info ] Wait until AITenant e2e-aigw-464b1912 is created [ocp_resources AITenant] 2026-11-01T14:08:16.644021Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:16.714670Z [success ] Function: lambda: self.exists succeeded after 5.054473876953125e-05 [0:00:00.000051]. [timeout_sampler] 2026-11-01T14:08:16.714799Z [info ] Executing function fixture: ready_aitenant [conftest] 2026-11-01T14:08:16.863299Z [info ] Wait for AITenant/e2e-aigw-464b1912's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-11-01T14:08:16.863450Z [info ] Wait until AITenant e2e-aigw-464b1912 is created [ocp_resources AITenant] 2026-11-01T14:08:16.863579Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:16.930432Z [success ] Function: lambda: self.exists succeeded after 6.222724914550781e-05 [0:00:00.000062]. [timeout_sampler] 2026-11-01T14:08:16.930585Z [info ] Waiting for 299.9327492713928 seconds [0:04:59.932749], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:18.067907Z [success ] Function: lambda: self.instance succeeded after 1.0663273334503174 [0:00:01.066327]. [timeout_sampler] 2026-11-01T14:08:18.139980Z [info ] Executing function fixture: aitenant_for_test [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-11-01T14:08:18.275594Z [info ] Wait for AITenant/e2e-aigw-464b1912's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-11-01T14:08:18.275751Z [info ] Wait until AITenant e2e-aigw-464b1912 is created [ocp_resources AITenant] 2026-11-01T14:08:18.275889Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:18.342243Z [success ] Function: lambda: self.exists succeeded after 6.580352783203125e-05 [0:00:00.000066]. [timeout_sampler] 2026-11-01T14:08:18.342420Z [info ] Waiting for 299.93352818489075 seconds [0:04:59.933528], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:18.409621Z [success ] Function: lambda: self.instance succeeded after 6.651878356933594e-05 [0:00:00.000067]. [timeout_sampler] 2026-11-01T14:08:18.740437Z [warning ] Couldn't find MaasTenantConfig in maas.opendatahub.io api group [ocp_resources.resource] FAILED TEST: TestAITenantTenantSetup.test_aitenant_bootstrap_does_not_break_default_tenant STATUS: FAILED 2026-11-01T14:08:18.745514Z [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 54, in test_aitenant_bootstrap_does_not_break_default_tenant verify_default_maas_tenant_unaffected(admin_client=admin_client) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 761, in verify_default_maas_tenant_unaffected default_maas_tenant_config = MaasTenantConfig( client=admin_client, name=AIGATEWAY_BOOTSTRAPPED_TENANT_NAME, namespace=MAAS_SUBSCRIPTION_NAMESPACE, ) File "/home/odh/opendatahub-tests/utilities/resources/maastenantconfig.py", line 31, in __init__ super().__init__(**kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1637, in __init__ super().__init__( ~~~~~~~~~~~~~~~~^ name=name, ^^^^^^^^^^ ...<4 lines>... **kwargs, ^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 713, in __init__ self._set_api_version() ~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 898, in _set_api_version self.api_version = _get_api_version(client=self.client, api_group=self.api_group, kind=self.kind) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 87, in _get_api_version raise NotImplementedError(log) NotImplementedError: Couldn't find MaasTenantConfig in maas.opendatahub.io api group [conftest] ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-11-01T14:08:18.745754Z [info ] Delete AITenant e2e-aigw-464b1912 [ocp_resources AITenant] 2026-11-01T14:08:18.883356Z [info ] Deleting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'creationTimestamp': '2026-11-01T14:08:16Z', '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-11-01T14:08:16Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"maas.opendatahub.io/aitenant-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-11-01T14:08:16Z'}, {'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-11-01T14:08:17Z'}], 'name': 'e2e-aigw-464b1912', 'namespace': 'ai-tenants', 'resourceVersion': '45271718', 'uid': '903d84b0-bf06-4ead-b3ac-4d81bcf1ab81'}, 'spec': {'gateway': {'name': 'e2e-aigw-464b1912'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-11-01T14:08:17Z', 'message': 'AITenant bootstrap resources are reconciled', 'observedGeneration': 1, 'reason': 'Reconciled', 'status': 'True', 'type': 'Ready'}], 'gatewayRef': {'name': 'e2e-aigw-464b1912', 'namespace': 'openshift-ingress'}, 'phase': 'Active', 'tenantNamespace': 'ai-tenant-e2e-aigw-464b1912'}} [ocp_resources AITenant] 2026-11-01T14:08:18.957428Z [info ] Wait until AITenant e2e-aigw-464b1912 is deleted [ocp_resources AITenant] 2026-11-01T14:08:18.957582Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:20.096127Z [success ] Function: lambda: self.exists succeeded after 1.0678353309631348 [0:00:01.067835]. [timeout_sampler] 2026-11-01T14:08:20.096279Z [info ] Delete Gateway e2e-aigw-464b1912 [ocp_resources Gateway] 2026-11-01T14:08:20.312950Z [info ] Deleting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'creationTimestamp': '2026-11-01T14:08:16Z', '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-11-01T14:08:16Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:gatewayClassName': {}, 'f:infrastructure': {'.': {}, 'f:parametersRef': {'.': {}, 'f:group': {}, 'f:kind': {}, 'f:name': {}}}, 'f:listeners': {'.': {}, 'k:{"name":"http"}': {'.': {}, 'f:allowedRoutes': {'.': {}, 'f:namespaces': {'.': {}, 'f:from': {}}}, 'f:name': {}, 'f:port': {}, 'f:protocol': {}}, 'k:{"name":"https"}': {'.': {}, 'f:allowedRoutes': {'.': {}, 'f:namespaces': {'.': {}, 'f:from': {}}}, 'f:name': {}, 'f:port': {}, 'f:protocol': {}, 'f:tls': {'.': {}, 'f:certificateRefs': {}, 'f:mode': {}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-11-01T14:08:16Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:istio.io/rev': {}}}}, 'manager': 'ingress-operator', 'operation': 'Update', 'time': '2026-11-01T14:08:16Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:conditions': {'k:{"type":"LoadBalancerReady"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}}}, 'manager': 'ingress-operator', 'operation': 'Update', 'subresource': 'status', 'time': '2026-11-01T14:08:16Z'}, {'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': {}}}}, 'k:{"name":"https"}': {'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-11-01T14:08:19Z'}, {'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': {}}, 'k:{"name":"https"}': {'.': {}, '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-11-01T14:08:19Z'}], 'name': 'e2e-aigw-464b1912', 'namespace': 'openshift-ingress', 'resourceVersion': '45271882', 'uid': 'b67dafff-2526-4af3-ad4e-14dcca5935cf'}, 'spec': {'gatewayClassName': 'openshift-default', 'infrastructure': {'parametersRef': {'group': '', 'kind': 'ConfigMap', 'name': 'e2e-aigw-464b1912-config'}}, 'listeners': [{'allowedRoutes': {'namespaces': {'from': 'All'}}, 'name': 'http', 'port': 80, 'protocol': 'HTTP'}, {'allowedRoutes': {'namespaces': {'from': 'All'}}, 'name': 'https', 'port': 443, 'protocol': 'HTTPS', 'tls': {'certificateRefs': [{'group': '', 'kind': 'Secret', 'name': 'data-science-gateway-service-tls'}], 'mode': 'Terminate'}}]}, 'status': {'addresses': [{'type': 'Hostname', 'value': 'e2e-aigw-464b1912-openshift-default.openshift-ingress.svc.cluster.local'}], 'conditions': [{'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'Resource accepted', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-11-01T14:08:17Z', 'message': 'Resource programmed, assigned to service(s) e2e-aigw-464b1912-openshift-default.openshift-ingress.svc.cluster.local:443 and e2e-aigw-464b1912-openshift-default.openshift-ingress.svc.cluster.local:80', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'The LoadBalancer service is pending', 'observedGeneration': 1, 'reason': 'LoadBalancerPending', 'status': 'False', 'type': 'LoadBalancerReady'}, {'lastTransitionTime': '2026-11-01T14:08:19Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-464b1912]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'listeners': [{'attachedRoutes': 0, 'conditions': [{'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'NoConflicts', 'status': 'False', 'type': 'Conflicted'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'ResolvedRefs', 'status': 'True', 'type': 'ResolvedRefs'}, {'lastTransitionTime': '2026-11-01T14:08:19Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-464b1912]', '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'}]}, {'attachedRoutes': 0, 'conditions': [{'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'NoConflicts', 'status': 'False', 'type': 'Conflicted'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-11-01T14:08:16Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'ResolvedRefs', 'status': 'True', 'type': 'ResolvedRefs'}, {'lastTransitionTime': '2026-11-01T14:08:19Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-464b1912]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'name': 'https', 'supportedKinds': [{'group': 'gateway.networking.k8s.io', 'kind': 'HTTPRoute'}, {'group': 'gateway.networking.k8s.io', 'kind': 'GRPCRoute'}]}]}} [ocp_resources Gateway] 2026-11-01T14:08:20.390684Z [info ] Wait until Gateway e2e-aigw-464b1912 is deleted [ocp_resources Gateway] 2026-11-01T14:08:20.390845Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:20.464394Z [success ] Function: lambda: self.exists succeeded after 4.410743713378906e-05 [0:00:00.000044]. [timeout_sampler] 2026-11-01T14:08:20.464544Z [info ] Delete ConfigMap e2e-aigw-464b1912-config [ocp_resources ConfigMap] 2026-11-01T14:08:25.906508Z [info ] Deleting {'kind': 'ConfigMap', 'apiVersion': 'v1', 'metadata': {'name': 'e2e-aigw-464b1912-config', 'namespace': 'openshift-ingress', 'uid': '5d9f2634-e4fe-493b-94f6-468d9baf5037', 'resourceVersion': '45271608', 'creationTimestamp': '2026-11-01T14:08:16Z', 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-11-01T14:08:16Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:data': {'.': {}, 'f:service': {}}}}]}, 'data': '*******'} [ocp_resources ConfigMap] 2026-11-01T14:08:25.979756Z [info ] Wait until ConfigMap e2e-aigw-464b1912-config is deleted [ocp_resources ConfigMap] 2026-11-01T14:08:25.979918Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:26.047756Z [success ] Function: lambda: self.exists succeeded after 9.274482727050781e-05 [0:00:00.000093]. [timeout_sampler] 2026-11-01T14:08:26.047924Z [info ] ResourceEdits: Restoring data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-11-01T14:08:26.048069Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-11-01T14:08:26.232470Z [info ] ResourceEdit: Backing up old data [ocp_resources.resource] 2026-11-01T14:08:26.305037Z [info ] ResourceEdits: Updating data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-11-01T14:08:26.305323Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {'managementState': 'Managed'}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-11-01T14:08:26.415848Z [info ] ResourceEdits: Restoring data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-11-01T14:08:26.416016Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-11-01T14:08:26.519179Z [info ] Wait for DataScienceCluster/default-dsc's 'Ready' condition to be 'True' [ocp_resources DataScienceCluster] 2026-11-01T14:08:26.519340Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-11-01T14:08:26.519455Z [info ] Waiting for 600 seconds [0:10:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-11-01T14:08:26.588220Z [success ] Function: lambda: self.exists succeeded after 4.2438507080078125e-05 [0:00:00.000042]. [timeout_sampler] 2026-11-01T14:08:26.588367Z [info ] Waiting for 599.9309029579163 seconds [0:09:59.930903], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-11-01T14:08:26.662956Z [success ] Function: lambda: self.instance succeeded after 3.457069396972656e-05 [0:00:00.000035]. [timeout_sampler] 2026-11-01T14:08:26.663091Z [info ] ResourceEdits: Restoring data for resource Gateway maas-default-gateway [ocp_resources.resource] 2026-11-01T14:08:26.663286Z [info ] Update Gateway maas-default-gateway: {'metadata': {'annotations': {}, 'name': 'maas-default-gateway'}} [ocp_resources Gateway] _ TestAITenantTenantSetup.test_aitenant_bootstrap_does_not_break_default_tenant _ 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 54, in test_aitenant_bootstrap_does_not_break_default_tenant verify_default_maas_tenant_unaffected(admin_client=admin_client) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 761, in verify_default_maas_tenant_unaffected default_maas_tenant_config = MaasTenantConfig( client=admin_client, name=AIGATEWAY_BOOTSTRAPPED_TENANT_NAME, namespace=MAAS_SUBSCRIPTION_NAMESPACE, ) File "/home/odh/opendatahub-tests/utilities/resources/maastenantconfig.py", line 31, in __init__ super().__init__(**kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1637, in __init__ super().__init__( ~~~~~~~~~~~~~~~~^ name=name, ^^^^^^^^^^ ...<4 lines>... **kwargs, ^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 713, in __init__ self._set_api_version() ~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 898, in _set_api_version self.api_version = _get_api_version(client=self.client, api_group=self.api_group, kind=self.kind) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 87, in _get_api_version raise NotImplementedError(log) NotImplementedError: Couldn't find MaasTenantConfig in maas.opendatahub.io api group _ 11 of 11 completed, 10 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ ========= 1 failed, 10 passed, 207 deselected, 264 warnings in 20.90s ========== =================================== FAILURES =================================== _ TestAITenantTenantSetup.test_aitenant_bootstrap_does_not_break_default_tenant _ 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 54, in test_aitenant_bootstrap_does_not_break_default_tenant verify_default_maas_tenant_unaffected(admin_client=admin_client) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 761, in verify_default_maas_tenant_unaffected default_maas_tenant_config = MaasTenantConfig( client=admin_client, name=AIGATEWAY_BOOTSTRAPPED_TENANT_NAME, namespace=MAAS_SUBSCRIPTION_NAMESPACE, ) File "/home/odh/opendatahub-tests/utilities/resources/maastenantconfig.py", line 31, in __init__ super().__init__(**kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1637, in __init__ super().__init__( ~~~~~~~~~~~~~~~~^ name=name, ^^^^^^^^^^ ...<4 lines>... **kwargs, ^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 713, in __init__ self._set_api_version() ~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 898, in _set_api_version self.api_version = _get_api_version(client=self.client, api_group=self.api_group, kind=self.kind) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 87, in _get_api_version raise NotImplementedError(log) NotImplementedError: Couldn't find MaasTenantConfig in maas.opendatahub.io api group =============================== warnings summary =============================== tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_envoy_filter.py: 121 warnings tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_post_auth_setup.py: 9 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: 127 warnings /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1129: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.konflux-rhoai1.84q6.s3.devshift.org'. 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_does_not_break_default_tenant - NotImplementedError: Couldn't find MaasTenantConfig in maas.opendatahub.io api group ========= 1 failed, 10 passed, 207 deselected, 264 warnings in 20.90s ==========