Skip to content

Commit 7017178

Browse files
committed
partially fix ut
1 parent dab81b1 commit 7017178

File tree

12 files changed

+30
-20
lines changed

12 files changed

+30
-20
lines changed

cmd/epp/runner/runner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ var (
147147
"The configuration specified as text, in lieu of a file")
148148

149149
modelServerMetricsPort = flag.Int("model-server-metrics-port", 0, "Port to scrape metrics from pods. "+
150-
"Default value will be set to InferencePool.Spec.TargetPortNumber if not set.")
150+
"Default value will be set to InferencePool.Spec.TargetPorts if not set.")
151151
modelServerMetricsPath = flag.String("model-server-metrics-path", "/metrics", "Path to scrape metrics from pods")
152152
modelServerMetricsScheme = flag.String("model-server-metrics-scheme", "http", "Scheme to scrape metrics from pods")
153153
modelServerMetricsHttpsInsecureSkipVerify = flag.Bool("model-server-metrics-https-insecure-skip-verify", true, "When using 'https' scheme for 'model-server-metrics-scheme', configure 'InsecureSkipVerify' (default to true)")

pkg/epp/backend/metrics/pod_metrics.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,10 @@ func (pm *podMetrics) refreshMetrics() error {
116116
}
117117
ctx, cancel := context.WithTimeout(context.Background(), fetchMetricsTimeout)
118118
defer cancel()
119-
updated, err := pm.pmc.FetchMetrics(ctx, pm.GetPod(), pm.GetMetrics(), pool.Spec.TargetPortNumber)
119+
if len(pool.Spec.TargetPorts) != 1 {
120+
return fmt.Errorf("expected 1 target port, got %d", len(pool.Spec.TargetPorts))
121+
}
122+
updated, err := pm.pmc.FetchMetrics(ctx, pm.GetPod(), pm.GetMetrics(), pool.Spec.TargetPorts[0].PortNumber)
120123
if err != nil {
121124
pm.logger.V(logutil.TRACE).Info("Failed to refreshed metrics:", "err", err)
122125
}

pkg/epp/backend/metrics/pod_metrics_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func TestMetricsRefresh(t *testing.T) {
8888
type fakeDataStore struct{}
8989

9090
func (f *fakeDataStore) PoolGet() (*v1.InferencePool, error) {
91-
return &v1.InferencePool{Spec: v1.InferencePoolSpec{TargetPortNumber: 8000}}, nil
91+
return &v1.InferencePool{Spec: v1.InferencePoolSpec{TargetPorts: []v1.Port{{PortNumber: 8000}}}}, nil
9292
}
9393

9494
func (f *fakeDataStore) PodList(func(PodMetrics) bool) []PodMetrics {

pkg/epp/controller/inferencepool_reconciler_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func TestInferencePoolReconciler(t *testing.T) {
8080
pool1 := utiltest.MakeInferencePool("pool1").
8181
Namespace("pool1-ns").
8282
Selector(selector_v1).
83-
TargetPortNumber(8080).ObjRef()
83+
TargetPorts(8080).ObjRef()
8484
pool1.SetGroupVersionKind(gvk)
8585
pool2 := utiltest.MakeInferencePool("pool2").Namespace("pool2-ns").ObjRef()
8686
pool2.SetGroupVersionKind(gvk)
@@ -143,7 +143,7 @@ func TestInferencePoolReconciler(t *testing.T) {
143143
if err := fakeClient.Get(ctx, req.NamespacedName, newPool1); err != nil {
144144
t.Errorf("Unexpected pool get error: %v", err)
145145
}
146-
newPool1.Spec.TargetPortNumber = 9090
146+
newPool1.Spec.TargetPorts = []v1.Port{{PortNumber: 9090}}
147147
if err := fakeClient.Update(ctx, newPool1, &client.UpdateOptions{}); err != nil {
148148
t.Errorf("Unexpected pool update error: %v", err)
149149
}

pkg/epp/controller/pod_reconciler_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func TestPodReconciler(t *testing.T) {
6161
existingPods: []*corev1.Pod{basePod1, basePod2},
6262
pool: &v1.InferencePool{
6363
Spec: v1.InferencePoolSpec{
64-
TargetPortNumber: int32(8000),
64+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
6565
Selector: map[v1.LabelKey]v1.LabelValue{
6666
"some-key": "some-val",
6767
},
@@ -77,7 +77,7 @@ func TestPodReconciler(t *testing.T) {
7777
existingPods: []*corev1.Pod{basePod1, basePod2},
7878
pool: &v1.InferencePool{
7979
Spec: v1.InferencePoolSpec{
80-
TargetPortNumber: int32(8000),
80+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
8181
Selector: map[v1.LabelKey]v1.LabelValue{
8282
"some-key": "some-val",
8383
},
@@ -93,7 +93,7 @@ func TestPodReconciler(t *testing.T) {
9393
existingPods: []*corev1.Pod{basePod1, basePod2},
9494
pool: &v1.InferencePool{
9595
Spec: v1.InferencePoolSpec{
96-
TargetPortNumber: int32(8000),
96+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
9797
Selector: map[v1.LabelKey]v1.LabelValue{
9898
"some-key": "some-val",
9999
},
@@ -110,7 +110,7 @@ func TestPodReconciler(t *testing.T) {
110110
existingPods: []*corev1.Pod{basePod1, basePod2},
111111
pool: &v1.InferencePool{
112112
Spec: v1.InferencePoolSpec{
113-
TargetPortNumber: int32(8000),
113+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
114114
Selector: map[v1.LabelKey]v1.LabelValue{
115115
"some-key": "some-val",
116116
},
@@ -124,7 +124,7 @@ func TestPodReconciler(t *testing.T) {
124124
existingPods: []*corev1.Pod{basePod1, basePod2},
125125
pool: &v1.InferencePool{
126126
Spec: v1.InferencePoolSpec{
127-
TargetPortNumber: int32(8000),
127+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
128128
Selector: map[v1.LabelKey]v1.LabelValue{
129129
"some-key": "some-val",
130130
},
@@ -139,7 +139,7 @@ func TestPodReconciler(t *testing.T) {
139139
existingPods: []*corev1.Pod{basePod1, basePod2},
140140
pool: &v1.InferencePool{
141141
Spec: v1.InferencePoolSpec{
142-
TargetPortNumber: int32(8000),
142+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
143143
Selector: map[v1.LabelKey]v1.LabelValue{
144144
"some-key": "some-val",
145145
},
@@ -155,7 +155,7 @@ func TestPodReconciler(t *testing.T) {
155155
existingPods: []*corev1.Pod{basePod1, basePod2},
156156
pool: &v1.InferencePool{
157157
Spec: v1.InferencePoolSpec{
158-
TargetPortNumber: int32(8000),
158+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
159159
Selector: map[v1.LabelKey]v1.LabelValue{
160160
"some-key": "some-val",
161161
},

pkg/epp/datastore/datastore_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ var (
245245
pod2NamespacedName = types.NamespacedName{Name: pod2.Name, Namespace: pod2.Namespace}
246246
inferencePool = &v1.InferencePool{
247247
Spec: v1.InferencePoolSpec{
248-
TargetPortNumber: 8000,
248+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
249249
},
250250
}
251251
)

pkg/epp/handlers/request.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package handlers
1818

1919
import (
20+
"fmt"
2021
"strconv"
2122
"time"
2223

@@ -45,7 +46,10 @@ func (s *StreamingServer) HandleRequestHeaders(reqCtx *RequestContext, req *extP
4546
if err != nil {
4647
return err
4748
}
48-
reqCtx.TargetEndpoint = pod.Address + ":" + strconv.Itoa(int(pool.Spec.TargetPortNumber))
49+
if len(pool.Spec.TargetPorts) != 1 {
50+
return fmt.Errorf("expected 1 target port, got %d", len(pool.Spec.TargetPorts))
51+
}
52+
reqCtx.TargetEndpoint = pod.Address + ":" + strconv.Itoa(int(pool.Spec.TargetPorts[0].PortNumber))
4953
reqCtx.RequestSize = 0
5054
reqCtx.reqHeaderResp = s.generateRequestHeaderResponse(reqCtx)
5155
return nil

pkg/epp/metrics/collectors/inference_pool_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func TestMetricsCollected(t *testing.T) {
8080
Name: "test-pool",
8181
},
8282
Spec: v1.InferencePoolSpec{
83-
TargetPortNumber: 8000,
83+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
8484
},
8585
}
8686
_ = ds.PoolSet(context.Background(), fakeClient, inferencePool)

pkg/epp/requestcontrol/director.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,10 @@ func (d *Director) prepareRequest(ctx context.Context, reqCtx *handlers.RequestC
242242
return reqCtx, err
243243
}
244244
targetPods := []*backend.Pod{}
245-
targetPort := int(pool.Spec.TargetPortNumber)
245+
if len(pool.Spec.TargetPorts) != 1 {
246+
return reqCtx, errutil.Error{Code: errutil.BadRequest, Msg: "targetPorts should have length 1"}
247+
}
248+
targetPort := int(pool.Spec.TargetPorts[0].PortNumber)
246249
targetEndpoints := []string{}
247250

248251
for _, pod := range result.ProfileResults[result.PrimaryProfileName].TargetPods {

pkg/epp/requestcontrol/director_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func TestDirector_HandleRequest(t *testing.T) {
101101
pool := &v1.InferencePool{
102102
ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"},
103103
Spec: v1.InferencePoolSpec{
104-
TargetPortNumber: int32(8000),
104+
TargetPorts: []v1.Port{{PortNumber: int32(8000)}},
105105
Selector: map[v1.LabelKey]v1.LabelValue{
106106
"app": "inference",
107107
},

0 commit comments

Comments
 (0)