Skip to content

Commit a2f121d

Browse files
krithika369Krithika Sundararajan
andauthored
Fix cluster-local annonation, set knative svc defaults (#211)
* Fix cluster-local annonation, set knative svc defaults * Revert cluster-local annotation for testing * Revert "Revert cluster-local annotation for testing" This reverts commit df0f4ce. * Update comments Co-authored-by: Krithika Sundararajan <krithika.sundararajan@go-jek.com>
1 parent e0351d4 commit a2f121d

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

api/turing/cluster/knative_service.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cluster
22

33
import (
4+
"context"
45
"fmt"
56
"strconv"
67

@@ -59,19 +60,23 @@ func (cfg *KnativeService) BuildKnativeServiceConfig() *knservingv1.Service {
5960
kserviceLabels := clone(cfg.Labels)
6061
if cfg.IsClusterLocal {
6162
// Kservice should only be accessible from within the cluster
62-
// https://knative.dev/docs/serving/cluster-local-route/
63-
kserviceLabels["serving.knative.dev/visibility"] = "cluster-local"
63+
// https://knative.dev/v1.2-docs/serving/services/private-services/
64+
kserviceLabels["networking.knative.dev/visibility"] = "cluster-local"
6465
}
6566
kserviceObjectMeta := cfg.buildSvcObjectMeta(kserviceLabels)
6667

6768
revisionLabels := clone(cfg.Labels)
6869
kserviceSpec := cfg.buildSvcSpec(revisionLabels)
6970

70-
return &knservingv1.Service{
71+
svc := &knservingv1.Service{
7172
ObjectMeta: *kserviceObjectMeta,
7273
Spec: *kserviceSpec,
7374
}
74-
75+
// Call setDefaults on desired knative service here to avoid diffs generated because knative defaulter webhook
76+
// is called when creating or updating the knative service. Ref: https://github.com/kserve/kserve/blob/v0.8.0
77+
// /pkg/controller/v1beta1/inferenceservice/reconcilers/knative/ksvc_reconciler.go#L159
78+
svc.SetDefaults(context.TODO())
79+
return svc
7580
}
7681

7782
func (cfg *KnativeService) buildSvcObjectMeta(labels map[string]string) *metav1.ObjectMeta {

api/turing/cluster/knative_service_test.go

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,17 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
8585
}
8686

8787
// Expected specs
88+
var defaultConcurrency, defaultTrafficPercent int64 = 0, 100
89+
var defaultLatestRevision bool = true
8890
var timeout int64 = 30
91+
defaultRouteSpec := knservingv1.RouteSpec{
92+
Traffic: []knservingv1.TrafficTarget{
93+
{
94+
LatestRevision: &defaultLatestRevision,
95+
Percent: &defaultTrafficPercent,
96+
},
97+
},
98+
}
8999
resources := corev1.ResourceRequirements{
90100
Limits: map[corev1.ResourceName]resource.Quantity{
91101
corev1.ResourceCPU: resource.MustParse("600m"),
@@ -113,6 +123,7 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
113123
podSpec := corev1.PodSpec{
114124
Containers: []corev1.Container{
115125
{
126+
Name: "user-container",
116127
Image: "asia.gcr.io/gcp-project-id/turing-router:latest",
117128
Ports: []corev1.ContainerPort{
118129
{
@@ -141,6 +152,7 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
141152
},
142153
InitialDelaySeconds: 20,
143154
PeriodSeconds: 10,
155+
SuccessThreshold: 1,
144156
TimeoutSeconds: 5,
145157
FailureThreshold: 5,
146158
},
@@ -171,8 +183,8 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
171183
Name: "test-svc",
172184
Namespace: "test-namespace",
173185
Labels: map[string]string{
174-
"labelKey": "labelVal",
175-
"serving.knative.dev/visibility": "cluster-local",
186+
"labelKey": "labelVal",
187+
"networking.knative.dev/visibility": "cluster-local",
176188
},
177189
},
178190
Spec: knservingv1.ServiceSpec{
@@ -192,11 +204,13 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
192204
},
193205
},
194206
Spec: knservingv1.RevisionSpec{
195-
PodSpec: podSpec,
196-
TimeoutSeconds: &timeout,
207+
PodSpec: podSpec,
208+
TimeoutSeconds: &timeout,
209+
ContainerConcurrency: &defaultConcurrency,
197210
},
198211
},
199212
},
213+
RouteSpec: defaultRouteSpec,
200214
},
201215
},
202216
},
@@ -234,11 +248,13 @@ func TestBuildKnativeServiceConfig(t *testing.T) {
234248
},
235249
},
236250
Spec: knservingv1.RevisionSpec{
237-
PodSpec: podSpec,
238-
TimeoutSeconds: &timeout,
251+
PodSpec: podSpec,
252+
TimeoutSeconds: &timeout,
253+
ContainerConcurrency: &defaultConcurrency,
239254
},
240255
},
241256
},
257+
RouteSpec: defaultRouteSpec,
242258
},
243259
},
244260
},

0 commit comments

Comments
 (0)