Skip to content

Commit b6df07a

Browse files
authored
Move llm-d fixtures to dedicated conftest and refactor metric utilities (#1000)
1 parent 40e2274 commit b6df07a

File tree

6 files changed

+331
-327
lines changed

6 files changed

+331
-327
lines changed

tests/model_serving/model_server/conftest.py

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from _pytest.fixtures import FixtureRequest
66
from kubernetes.dynamic import DynamicClient
77
from ocp_resources.config_map import ConfigMap
8-
from ocp_resources.gateway import Gateway
98
from ocp_resources.inference_service import InferenceService
109
from ocp_resources.namespace import Namespace
1110
from ocp_resources.persistent_volume_claim import PersistentVolumeClaim
@@ -14,7 +13,6 @@
1413
from ocp_resources.service_account import ServiceAccount
1514
from ocp_resources.serving_runtime import ServingRuntime
1615
from ocp_resources.storage_class import StorageClass
17-
from ocp_resources.llm_inference_service import LLMInferenceService
1816
from ocp_resources.data_science_cluster import DataScienceCluster
1917
from ocp_resources.cluster_service_version import ClusterServiceVersion
2018
from kubernetes.dynamic.exceptions import ResourceNotFoundError
@@ -40,93 +38,16 @@
4038
from utilities.constants import (
4139
ModelAndFormat,
4240
)
43-
from utilities.llmd_utils import create_llmd_gateway, create_llmisvc
4441
from utilities.inference_utils import create_isvc
45-
from utilities.llmd_constants import (
46-
LLMDGateway,
47-
ModelStorage,
48-
ContainerImages,
49-
)
5042
from utilities.infra import (
5143
s3_endpoint_secret,
5244
update_configmap_data,
5345
)
54-
from utilities.constants import Timeout
5546
from utilities.serving_runtime import ServingRuntimeFromTemplate
5647

5748
LOGGER = get_logger(name=__name__)
5849

5950

60-
# LLMD Fixtures
61-
@pytest.fixture(scope="class")
62-
def llmd_inference_service(
63-
request: FixtureRequest,
64-
admin_client: DynamicClient,
65-
unprivileged_model_namespace: Namespace,
66-
) -> Generator[LLMInferenceService, None, None]:
67-
if isinstance(request.param, str):
68-
name_suffix = request.param
69-
kwargs = {}
70-
else:
71-
name_suffix = request.param.get("name_suffix", "basic")
72-
kwargs = {k: v for k, v in request.param.items() if k != "name_suffix"}
73-
74-
service_name = kwargs.get("name", f"llm-{name_suffix}")
75-
76-
if "llmd_gateway" in request.fixturenames:
77-
request.getfixturevalue(argname="llmd_gateway")
78-
container_resources = kwargs.get(
79-
"container_resources",
80-
{
81-
"limits": {"cpu": "2", "memory": "16Gi"},
82-
"requests": {"cpu": "500m", "memory": "12Gi"},
83-
},
84-
)
85-
86-
create_kwargs = {
87-
"client": admin_client,
88-
"name": service_name,
89-
"namespace": unprivileged_model_namespace.name,
90-
"storage_uri": kwargs.get("storage_uri", ModelStorage.TINYLLAMA_OCI),
91-
"container_image": kwargs.get("container_image", ContainerImages.VLLM_CPU),
92-
"container_resources": container_resources,
93-
"wait": True,
94-
"timeout": Timeout.TIMEOUT_15MIN,
95-
**{k: v for k, v in kwargs.items() if k != "name"},
96-
}
97-
98-
with create_llmisvc(**create_kwargs) as llm_service:
99-
yield llm_service
100-
101-
102-
@pytest.fixture(scope="session")
103-
def gateway_namespace(admin_client: DynamicClient) -> str:
104-
return LLMDGateway.DEFAULT_NAMESPACE
105-
106-
107-
@pytest.fixture(scope="session")
108-
def shared_llmd_gateway(
109-
admin_client: DynamicClient,
110-
gateway_namespace: str,
111-
) -> Generator[Gateway, None, None]:
112-
gateway_class_name = "data-science-gateway-class"
113-
114-
with create_llmd_gateway(
115-
client=admin_client,
116-
namespace=gateway_namespace,
117-
gateway_class_name=gateway_class_name,
118-
wait_for_condition=True,
119-
timeout=Timeout.TIMEOUT_5MIN,
120-
teardown=True,
121-
) as gateway:
122-
yield gateway
123-
124-
125-
@pytest.fixture(scope="class")
126-
def llmd_gateway(shared_llmd_gateway: Gateway) -> Gateway:
127-
return shared_llmd_gateway
128-
129-
13051
@pytest.fixture(scope="class")
13152
def models_endpoint_s3_secret(
13253
unprivileged_client: DynamicClient,

0 commit comments

Comments
 (0)