Skip to content

Commit 35d7f64

Browse files
authored
Healthcheck fix (#788)
* Revert "fix: add required List() method to epp health server" This reverts commit a305927. * Revert "fix: add required List() method to bbr health server" This reverts commit 43da9fa. * Revert "fix: check for distinct gRPC services in epp health check" This reverts commit 2f72a8a. * Revert "fix: check for distinct gRPC services in bbr health check" This reverts commit 4bf03ad. * Revert "chore: update google.golang.org/grpc dep from v1.71.1 to v1.72.0" This reverts commit a6c3ede. * Revert "chore: add go's default main output binary to .gitignore" This reverts commit db30475. * go mod tidy output
1 parent 9032ca4 commit 35d7f64

File tree

8 files changed

+27
-69
lines changed

8 files changed

+27
-69
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
bin/*
88
Dockerfile.cross
99
artifacts
10-
main
1110

1211
# Test binary, built with `go test -c`
1312
*.test

cmd/bbr/health.go

+1-21
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package main
1919
import (
2020
"context"
2121

22-
extProcPb "github.com/envoyproxy/go-control-plane/envoy/service/ext_proc/v3"
2322
"github.com/go-logr/logr"
2423
"google.golang.org/grpc/codes"
2524
healthPb "google.golang.org/grpc/health/grpc_health_v1"
@@ -32,29 +31,10 @@ type healthServer struct {
3231
}
3332

3433
func (s *healthServer) Check(ctx context.Context, in *healthPb.HealthCheckRequest) (*healthPb.HealthCheckResponse, error) {
35-
if in.Service != extProcPb.ExternalProcessor_ServiceDesc.ServiceName {
36-
s.logger.V(logutil.DEFAULT).Info("gRPC health check requested unknown service", "available-services", []string{extProcPb.ExternalProcessor_ServiceDesc.ServiceName}, "requested-service", in.Service)
37-
return &healthPb.HealthCheckResponse{Status: healthPb.HealthCheckResponse_SERVICE_UNKNOWN}, nil
38-
}
39-
40-
s.logger.V(logutil.VERBOSE).Info("gRPC health check serving", "service", extProcPb.ExternalProcessor_ServiceDesc.ServiceName)
34+
s.logger.V(logutil.VERBOSE).Info("gRPC health check serving", "service", in.Service)
4135
return &healthPb.HealthCheckResponse{Status: healthPb.HealthCheckResponse_SERVING}, nil
4236
}
4337

44-
func (s *healthServer) List(ctx context.Context, _ *healthPb.HealthListRequest) (*healthPb.HealthListResponse, error) {
45-
// currently only the ext_proc service is provided
46-
serviceHealthResponse, err := s.Check(ctx, &healthPb.HealthCheckRequest{Service: extProcPb.ExternalProcessor_ServiceDesc.ServiceName})
47-
if err != nil {
48-
return nil, err
49-
}
50-
51-
return &healthPb.HealthListResponse{
52-
Statuses: map[string]*healthPb.HealthCheckResponse{
53-
extProcPb.ExternalProcessor_ServiceDesc.ServiceName: serviceHealthResponse,
54-
},
55-
}, nil
56-
}
57-
5838
func (s *healthServer) Watch(in *healthPb.HealthCheckRequest, srv healthPb.Health_WatchServer) error {
5939
return status.Error(codes.Unimplemented, "Watch is not implemented")
6040
}

cmd/epp/health.go

+2-23
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package main
1919
import (
2020
"context"
2121

22-
extProcPb "github.com/envoyproxy/go-control-plane/envoy/service/ext_proc/v3"
2322
"github.com/go-logr/logr"
2423
"google.golang.org/grpc/codes"
2524
healthPb "google.golang.org/grpc/health/grpc_health_v1"
@@ -34,34 +33,14 @@ type healthServer struct {
3433
}
3534

3635
func (s *healthServer) Check(ctx context.Context, in *healthPb.HealthCheckRequest) (*healthPb.HealthCheckResponse, error) {
37-
if in.Service != extProcPb.ExternalProcessor_ServiceDesc.ServiceName {
38-
s.logger.V(logutil.DEFAULT).Info("gRPC health check requested unknown service", "available-services", []string{extProcPb.ExternalProcessor_ServiceDesc.ServiceName}, "requested-service", in.Service)
39-
return &healthPb.HealthCheckResponse{Status: healthPb.HealthCheckResponse_SERVICE_UNKNOWN}, nil
40-
}
41-
4236
if !s.datastore.PoolHasSynced() {
43-
s.logger.V(logutil.DEFAULT).Info("gRPC health check not serving", "service", extProcPb.ExternalProcessor_ServiceDesc.ServiceName)
37+
s.logger.V(logutil.DEFAULT).Info("gRPC health check not serving", "service", in.Service)
4438
return &healthPb.HealthCheckResponse{Status: healthPb.HealthCheckResponse_NOT_SERVING}, nil
4539
}
46-
47-
s.logger.V(logutil.TRACE).Info("gRPC health check serving", "service", extProcPb.ExternalProcessor_ServiceDesc.ServiceName)
40+
s.logger.V(logutil.TRACE).Info("gRPC health check serving", "service", in.Service)
4841
return &healthPb.HealthCheckResponse{Status: healthPb.HealthCheckResponse_SERVING}, nil
4942
}
5043

51-
func (s *healthServer) List(ctx context.Context, _ *healthPb.HealthListRequest) (*healthPb.HealthListResponse, error) {
52-
// currently only the ext_proc service is provided
53-
serviceHealthResponse, err := s.Check(ctx, &healthPb.HealthCheckRequest{Service: extProcPb.ExternalProcessor_ServiceDesc.ServiceName})
54-
if err != nil {
55-
return nil, err
56-
}
57-
58-
return &healthPb.HealthListResponse{
59-
Statuses: map[string]*healthPb.HealthCheckResponse{
60-
extProcPb.ExternalProcessor_ServiceDesc.ServiceName: serviceHealthResponse,
61-
},
62-
}, nil
63-
}
64-
6544
func (s *healthServer) Watch(in *healthPb.HealthCheckRequest, srv healthPb.Health_WatchServer) error {
6645
return status.Error(codes.Unimplemented, "Watch is not implemented")
6746
}

config/charts/inferencepool/templates/epp-deployment.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ spec:
5353
livenessProbe:
5454
grpc:
5555
port: 9003
56-
service: envoy.service.ext_proc.v3.ExternalProcessor
56+
service: inference-extension
5757
initialDelaySeconds: 5
5858
periodSeconds: 10
5959
readinessProbe:
6060
grpc:
6161
port: 9003
62-
service: envoy.service.ext_proc.v3.ExternalProcessor
62+
service: inference-extension
6363
initialDelaySeconds: 5
6464
periodSeconds: 10

config/manifests/inferencepool-resources.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@ spec:
7171
livenessProbe:
7272
grpc:
7373
port: 9003
74-
service: envoy.service.ext_proc.v3.ExternalProcessor
74+
service: inference-extension
7575
initialDelaySeconds: 5
7676
periodSeconds: 10
7777
readinessProbe:
7878
grpc:
7979
port: 9003
80-
service: envoy.service.ext_proc.v3.ExternalProcessor
80+
service: inference-extension
8181
initialDelaySeconds: 5
8282
periodSeconds: 10
8383
---

go.mod

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ require (
1515
github.com/stretchr/testify v1.10.0
1616
go.uber.org/multierr v1.11.0
1717
go.uber.org/zap v1.27.0
18-
google.golang.org/grpc v1.72.0
18+
google.golang.org/grpc v1.71.1
1919
google.golang.org/protobuf v1.36.6
2020
k8s.io/api v0.32.4
2121
k8s.io/apiextensions-apiserver v0.32.4
@@ -31,7 +31,7 @@ require (
3131
)
3232

3333
require (
34-
cel.dev/expr v0.20.0 // indirect
34+
cel.dev/expr v0.19.1 // indirect
3535
github.com/Masterminds/goutils v1.1.1 // indirect
3636
github.com/Masterminds/semver v1.5.0 // indirect
3737
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
@@ -41,7 +41,7 @@ require (
4141
github.com/blang/semver/v4 v4.0.0 // indirect
4242
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
4343
github.com/cespare/xxhash/v2 v2.3.0 // indirect
44-
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect
44+
github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 // indirect
4545
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
4646
github.com/emicklei/go-restful/v3 v3.12.0 // indirect
4747
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
@@ -109,7 +109,7 @@ require (
109109
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
110110
golang.org/x/mod v0.24.0 // indirect
111111
golang.org/x/net v0.39.0 // indirect
112-
golang.org/x/oauth2 v0.26.0 // indirect
112+
golang.org/x/oauth2 v0.25.0 // indirect
113113
golang.org/x/sync v0.13.0 // indirect
114114
golang.org/x/sys v0.32.0 // indirect
115115
golang.org/x/term v0.31.0 // indirect
@@ -118,8 +118,8 @@ require (
118118
golang.org/x/tools v0.31.0 // indirect
119119
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
120120
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
121-
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect
122-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 // indirect
121+
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
122+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
123123
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
124124
gopkg.in/inf.v0 v0.9.1 // indirect
125125
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI=
2-
cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
1+
cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4=
2+
cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
33
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
44
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
55
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
@@ -20,8 +20,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3
2020
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
2121
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
2222
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
23-
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk=
24-
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
23+
github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySeApCX4GeOjPl9qhRF3QuIZq+Q=
24+
github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
2525
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
2626
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2727
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -234,8 +234,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
234234
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
235235
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
236236
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
237-
golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
238-
golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
237+
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
238+
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
239239
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
240240
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
241241
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -271,12 +271,12 @@ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSm
271271
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
272272
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
273273
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
274-
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0=
275-
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU=
276-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 h1:h6p3mQqrmT1XkHVTfzLdNz1u7IhINeZkz67/xTbOuWs=
277-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
278-
google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM=
279-
google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
274+
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24=
275+
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw=
276+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI=
277+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50=
278+
google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
279+
google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
280280
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
281281
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
282282
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

test/testdata/inferencepool-e2e.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ spec:
7373
livenessProbe:
7474
grpc:
7575
port: 9003
76-
service: envoy.service.ext_proc.v3.ExternalProcessor
76+
service: inference-extension
7777
initialDelaySeconds: 5
7878
periodSeconds: 10
7979
readinessProbe:
8080
grpc:
8181
port: 9003
82-
service: envoy.service.ext_proc.v3.ExternalProcessor
82+
service: inference-extension
8383
initialDelaySeconds: 5
8484
periodSeconds: 10
8585
---

0 commit comments

Comments
 (0)