Skip to content

Commit f93d972

Browse files
committed
Create inference model/pool objects in memory instead of reading them from files
1 parent bbc0a90 commit f93d972

File tree

3 files changed

+51
-90
lines changed

3 files changed

+51
-90
lines changed

pkg/epp/util/testing/wrappers.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ func (m *InferenceModelWrapper) ModelName(modelName string) *InferenceModelWrapp
129129
return m
130130
}
131131

132+
func (m *InferenceModelWrapper) TargetModel(modelName string) *InferenceModelWrapper {
133+
m.Spec.TargetModels = append(m.Spec.TargetModels, v1alpha2.TargetModel{Name: modelName})
134+
return m
135+
}
136+
132137
func (m *InferenceModelWrapper) PoolName(poolName string) *InferenceModelWrapper {
133138
m.Spec.PoolRef = v1alpha2.PoolObjectReference{Name: v1alpha2.ObjectName(poolName)}
134139
return m
@@ -187,6 +192,11 @@ func (m *InferencePoolWrapper) TargetPortNumber(p int32) *InferencePoolWrapper {
187192
return m
188193
}
189194

195+
func (m *InferencePoolWrapper) ExtensionRef(name string) *InferencePoolWrapper {
196+
m.Spec.ExtensionRef = &v1alpha2.Extension{ExtensionReference: v1alpha2.ExtensionReference{Name: v1alpha2.ObjectName(name)}}
197+
return m
198+
}
199+
190200
// Obj returns the wrapped InferencePool.
191201
func (m *InferencePoolWrapper) ObjRef() *v1alpha2.InferencePool {
192202
return &m.InferencePool

test/integration/epp/hermetic_test.go

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ import (
6767
runserver "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/server"
6868
logutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
6969
utiltesting "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/testing"
70-
"sigs.k8s.io/yaml"
7170
)
7271

7372
const (
@@ -1545,35 +1544,50 @@ func BeforeSuite() func() {
15451544

15461545
logger.Info("Setting up hermetic ExtProc server")
15471546

1548-
// Unmarshal CRDs from file into structs
1549-
manifestsPath := filepath.Join("..", "..", "testdata", "inferencepool-with-model-hermetic.yaml")
1550-
docs, err := readDocuments(manifestsPath)
1551-
if err != nil {
1552-
logutil.Fatal(logger, err, "Can't read object manifests", "path", manifestsPath)
1547+
ns := "default"
1548+
pool := utiltesting.MakeInferencePool("vllm-llama2-7b-pool").
1549+
Namespace(ns).
1550+
TargetPortNumber(8000).
1551+
Selector(map[string]string{"app": "vllm-llama2-7b-pool"}).
1552+
ExtensionRef("epp").
1553+
ObjRef()
1554+
if err := k8sClient.Create(context.Background(), pool); err != nil {
1555+
logutil.Fatal(logger, err, "Unable to create inferencePool", "pool", pool.Name)
15531556
}
15541557

1555-
for _, doc := range docs {
1556-
inferenceModel := &v1alpha2.InferenceModel{}
1557-
if err = yaml.Unmarshal(doc, inferenceModel); err != nil {
1558-
logutil.Fatal(logger, err, "Can't unmarshal object", "document", doc)
1559-
}
1560-
if inferenceModel.Kind == "InferenceModel" {
1561-
logger.Info("Creating inference model", "model", inferenceModel)
1562-
if err := k8sClient.Create(context.Background(), inferenceModel); err != nil {
1563-
logutil.Fatal(logger, err, "Unable to create inferenceModel", "modelName", inferenceModel.Name)
1564-
}
1565-
}
1558+
models := []*v1alpha2.InferenceModel{
1559+
utiltesting.MakeInferenceModel("sample").
1560+
Namespace(ns).
1561+
ModelName("sql-lora").
1562+
Criticality(v1alpha2.Critical).
1563+
PoolName(pool.Name).
1564+
TargetModel("sql-lora-1fdg2").
1565+
ObjRef(),
1566+
utiltesting.MakeInferenceModel("sheddable").
1567+
Namespace(ns).
1568+
ModelName("sql-lora-sheddable").
1569+
Criticality(v1alpha2.Sheddable).
1570+
PoolName(pool.Name).
1571+
TargetModel("sql-lora-1fdg3").
1572+
ObjRef(),
1573+
utiltesting.MakeInferenceModel("generic").
1574+
Namespace(ns).
1575+
ModelName("my-model").
1576+
Criticality(v1alpha2.Critical).
1577+
PoolName(pool.Name).
1578+
TargetModel("my-model-12345").
1579+
ObjRef(),
1580+
utiltesting.MakeInferenceModel("direct-model").
1581+
Namespace(ns).
1582+
ModelName("direct-model").
1583+
Criticality(v1alpha2.Critical).
1584+
PoolName(pool.Name).
1585+
ObjRef(),
15661586
}
1567-
for _, doc := range docs {
1568-
inferencePool := &v1alpha2.InferencePool{}
1569-
if err = yaml.Unmarshal(doc, inferencePool); err != nil {
1570-
logutil.Fatal(logger, err, "Can't unmarshal object", "document", doc)
1571-
}
1572-
if inferencePool.Kind == "InferencePool" {
1573-
logger.Info("Creating inference pool", "pool", inferencePool)
1574-
if err := k8sClient.Create(context.Background(), inferencePool); err != nil {
1575-
logutil.Fatal(logger, err, "Unable to create inferencePool", "poolName", inferencePool.Name)
1576-
}
1587+
for i := range models {
1588+
logger.Info("Creating inference model", "model", models[i])
1589+
if err := k8sClient.Create(context.Background(), models[i]); err != nil {
1590+
logutil.Fatal(logger, err, "Unable to create inferenceModel", "modelName", models[i].Name)
15771591
}
15781592
}
15791593

test/testdata/inferencepool-with-model-hermetic.yaml

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)