|
2 | 2 |
|
3 | 3 | import pytest |
4 | 4 | from kubernetes.dynamic import DynamicClient |
| 5 | +from ocp_resources.data_science_cluster import DataScienceCluster |
| 6 | +from ocp_resources.deployment import Deployment |
5 | 7 | from ocp_resources.inference_service import InferenceService |
6 | 8 | from ocp_resources.namespace import Namespace |
7 | 9 | from ocp_resources.pod import Pod |
| 10 | +from ocp_resources.resource import ResourceEditor |
8 | 11 | from ocp_resources.secret import Secret |
9 | 12 | from ocp_resources.service import Service |
10 | 13 | from ocp_resources.serving_runtime import ServingRuntime |
| 14 | +from pytest_testconfig import py_config |
11 | 15 |
|
12 | 16 | from utilities.constants import ( |
13 | 17 | RuntimeTemplates, |
|
16 | 20 | LLMdInferenceSimConfig, |
17 | 21 | ) |
18 | 22 | from utilities.inference_utils import create_isvc |
| 23 | +from utilities.infra import get_data_science_cluster |
19 | 24 | from utilities.serving_runtime import ServingRuntimeFromTemplate |
20 | 25 |
|
21 | 26 |
|
@@ -177,3 +182,24 @@ def llm_d_inference_sim_isvc( |
177 | 182 | }, |
178 | 183 | ) as isvc: |
179 | 184 | yield isvc |
| 185 | + |
| 186 | + |
| 187 | +@pytest.fixture(scope="class") |
| 188 | +def kserve_controller_manager_deployment(admin_client: DynamicClient) -> Generator[Deployment, Any, Any]: |
| 189 | + yield Deployment( |
| 190 | + client=admin_client, |
| 191 | + name="kserve-controller-manager", |
| 192 | + namespace=py_config["applications_namespace"], |
| 193 | + ensure_exists=True, |
| 194 | + ) |
| 195 | + |
| 196 | + |
| 197 | +@pytest.fixture(scope="class") |
| 198 | +def patched_dsc_kserve_headed( |
| 199 | + admin_client, kserve_controller_manager_deployment: Deployment |
| 200 | +) -> Generator[DataScienceCluster, None, None]: |
| 201 | + """Configure KServe Services to work in Headed mode i.e. using the Service port instead of the Pod port""" |
| 202 | + dsc = get_data_science_cluster(client=admin_client) |
| 203 | + with ResourceEditor(patches={dsc: {"spec": {"components": {"kserve": {"rawDeploymentServiceConfig": "Headed"}}}}}): |
| 204 | + kserve_controller_manager_deployment.wait_for_replicas() |
| 205 | + yield dsc |
0 commit comments