@@ -18,10 +18,7 @@ limitations under the License.
18
18
package epp
19
19
20
20
import (
21
- "bufio"
22
- "bytes"
23
21
"context"
24
- "errors"
25
22
"fmt"
26
23
"io"
27
24
"net"
@@ -48,7 +45,6 @@ import (
48
45
"k8s.io/apimachinery/pkg/runtime"
49
46
"k8s.io/apimachinery/pkg/types"
50
47
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
51
- k8syaml "k8s.io/apimachinery/pkg/util/yaml"
52
48
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
53
49
"k8s.io/component-base/metrics/legacyregistry"
54
50
metricsutils "k8s.io/component-base/metrics/testutil"
@@ -67,7 +63,6 @@ import (
67
63
runserver "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/server"
68
64
logutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
69
65
utiltesting "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/testing"
70
- "sigs.k8s.io/yaml"
71
66
)
72
67
73
68
const (
@@ -1545,35 +1540,50 @@ func BeforeSuite() func() {
1545
1540
1546
1541
logger .Info ("Setting up hermetic ExtProc server" )
1547
1542
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 )
1543
+ ns := "default"
1544
+ pool := utiltesting .MakeInferencePool ("vllm-llama2-7b-pool" ).
1545
+ Namespace (ns ).
1546
+ TargetPortNumber (8000 ).
1547
+ Selector (map [string ]string {"app" : "vllm-llama2-7b-pool" }).
1548
+ ExtensionRef ("epp" ).
1549
+ ObjRef ()
1550
+ if err := k8sClient .Create (context .Background (), pool ); err != nil {
1551
+ logutil .Fatal (logger , err , "Unable to create inferencePool" , "pool" , pool .Name )
1553
1552
}
1554
1553
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
- }
1554
+ models := []* v1alpha2.InferenceModel {
1555
+ utiltesting .MakeInferenceModel ("sample" ).
1556
+ Namespace (ns ).
1557
+ ModelName ("sql-lora" ).
1558
+ Criticality (v1alpha2 .Critical ).
1559
+ PoolName (pool .Name ).
1560
+ TargetModel ("sql-lora-1fdg2" ).
1561
+ ObjRef (),
1562
+ utiltesting .MakeInferenceModel ("sheddable" ).
1563
+ Namespace (ns ).
1564
+ ModelName ("sql-lora-sheddable" ).
1565
+ Criticality (v1alpha2 .Sheddable ).
1566
+ PoolName (pool .Name ).
1567
+ TargetModel ("sql-lora-1fdg3" ).
1568
+ ObjRef (),
1569
+ utiltesting .MakeInferenceModel ("generic" ).
1570
+ Namespace (ns ).
1571
+ ModelName ("my-model" ).
1572
+ Criticality (v1alpha2 .Critical ).
1573
+ PoolName (pool .Name ).
1574
+ TargetModel ("my-model-12345" ).
1575
+ ObjRef (),
1576
+ utiltesting .MakeInferenceModel ("direct-model" ).
1577
+ Namespace (ns ).
1578
+ ModelName ("direct-model" ).
1579
+ Criticality (v1alpha2 .Critical ).
1580
+ PoolName (pool .Name ).
1581
+ ObjRef (),
1566
1582
}
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
- }
1583
+ for i := range models {
1584
+ logger .Info ("Creating inference model" , "model" , models [i ])
1585
+ if err := k8sClient .Create (context .Background (), models [i ]); err != nil {
1586
+ logutil .Fatal (logger , err , "Unable to create inferenceModel" , "modelName" , models [i ].Name )
1577
1587
}
1578
1588
}
1579
1589
@@ -1644,29 +1654,6 @@ func streamedRequest(t *testing.T, client extProcPb.ExternalProcessor_ProcessCli
1644
1654
return responses , nil
1645
1655
}
1646
1656
1647
- // readDocuments reads documents from file.
1648
- func readDocuments (fp string ) ([][]byte , error ) {
1649
- b , err := os .ReadFile (fp )
1650
- if err != nil {
1651
- return nil , err
1652
- }
1653
-
1654
- docs := [][]byte {}
1655
- reader := k8syaml .NewYAMLReader (bufio .NewReader (bytes .NewReader (b )))
1656
- for {
1657
- // Read document
1658
- doc , err := reader .Read ()
1659
- if err != nil {
1660
- if errors .Is (err , io .EOF ) {
1661
- break
1662
- }
1663
- return nil , err
1664
- }
1665
- docs = append (docs , doc )
1666
- }
1667
- return docs , nil
1668
- }
1669
-
1670
1657
func makeMetadata (endpoint string ) * structpb.Struct {
1671
1658
return & structpb.Struct {
1672
1659
Fields : map [string ]* structpb.Value {
0 commit comments