Skip to content

Commit 7701a48

Browse files
committed
dra kubelet: bump gRPC API to v1alpha4
The previous changes are an API break, therefore we need a new version.
1 parent ee32058 commit 7701a48

File tree

8 files changed

+96
-99
lines changed

8 files changed

+96
-99
lines changed

pkg/kubelet/cm/dra/manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
clientset "k8s.io/client-go/kubernetes"
3131
"k8s.io/dynamic-resource-allocation/resourceclaim"
3232
"k8s.io/klog/v2"
33-
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha3"
33+
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
3434
dra "k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
3535
"k8s.io/kubernetes/pkg/kubelet/config"
3636
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"

pkg/kubelet/cm/dra/manager_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
"k8s.io/apimachinery/pkg/util/sets"
3737
"k8s.io/client-go/kubernetes/fake"
3838
"k8s.io/dynamic-resource-allocation/resourceclaim"
39-
drapbv1 "k8s.io/kubelet/pkg/apis/dra/v1alpha3"
39+
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
4040
"k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
4141
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
4242
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
@@ -48,16 +48,16 @@ const (
4848
)
4949

5050
type fakeDRADriverGRPCServer struct {
51-
drapbv1.UnimplementedNodeServer
51+
drapb.UnimplementedNodeServer
5252
driverName string
5353
timeout *time.Duration
5454
prepareResourceCalls atomic.Uint32
5555
unprepareResourceCalls atomic.Uint32
56-
prepareResourcesResponse *drapbv1.NodePrepareResourcesResponse
57-
unprepareResourcesResponse *drapbv1.NodeUnprepareResourcesResponse
56+
prepareResourcesResponse *drapb.NodePrepareResourcesResponse
57+
unprepareResourcesResponse *drapb.NodeUnprepareResourcesResponse
5858
}
5959

60-
func (s *fakeDRADriverGRPCServer) NodePrepareResources(ctx context.Context, req *drapbv1.NodePrepareResourcesRequest) (*drapbv1.NodePrepareResourcesResponse, error) {
60+
func (s *fakeDRADriverGRPCServer) NodePrepareResources(ctx context.Context, req *drapb.NodePrepareResourcesRequest) (*drapb.NodePrepareResourcesResponse, error) {
6161
s.prepareResourceCalls.Add(1)
6262

6363
if s.timeout != nil {
@@ -67,8 +67,8 @@ func (s *fakeDRADriverGRPCServer) NodePrepareResources(ctx context.Context, req
6767
if s.prepareResourcesResponse == nil {
6868
deviceName := "claim-" + req.Claims[0].Uid
6969
result := s.driverName + "/" + driverClassName + "=" + deviceName
70-
return &drapbv1.NodePrepareResourcesResponse{
71-
Claims: map[string]*drapbv1.NodePrepareResourceResponse{
70+
return &drapb.NodePrepareResourcesResponse{
71+
Claims: map[string]*drapb.NodePrepareResourceResponse{
7272
req.Claims[0].Uid: {
7373
CDIDevices: []string{result},
7474
},
@@ -79,16 +79,16 @@ func (s *fakeDRADriverGRPCServer) NodePrepareResources(ctx context.Context, req
7979
return s.prepareResourcesResponse, nil
8080
}
8181

82-
func (s *fakeDRADriverGRPCServer) NodeUnprepareResources(ctx context.Context, req *drapbv1.NodeUnprepareResourcesRequest) (*drapbv1.NodeUnprepareResourcesResponse, error) {
82+
func (s *fakeDRADriverGRPCServer) NodeUnprepareResources(ctx context.Context, req *drapb.NodeUnprepareResourcesRequest) (*drapb.NodeUnprepareResourcesResponse, error) {
8383
s.unprepareResourceCalls.Add(1)
8484

8585
if s.timeout != nil {
8686
time.Sleep(*s.timeout)
8787
}
8888

8989
if s.unprepareResourcesResponse == nil {
90-
return &drapbv1.NodeUnprepareResourcesResponse{
91-
Claims: map[string]*drapbv1.NodeUnprepareResourceResponse{
90+
return &drapb.NodeUnprepareResourcesResponse{
91+
Claims: map[string]*drapb.NodeUnprepareResourceResponse{
9292
req.Claims[0].Uid: {},
9393
},
9494
}, nil
@@ -108,7 +108,7 @@ type fakeDRAServerInfo struct {
108108
teardownFn tearDown
109109
}
110110

111-
func setupFakeDRADriverGRPCServer(shouldTimeout bool, pluginClientTimeout *time.Duration, prepareResourcesResponse *drapbv1.NodePrepareResourcesResponse, unprepareResourcesResponse *drapbv1.NodeUnprepareResourcesResponse) (fakeDRAServerInfo, error) {
111+
func setupFakeDRADriverGRPCServer(shouldTimeout bool, pluginClientTimeout *time.Duration, prepareResourcesResponse *drapb.NodePrepareResourcesResponse, unprepareResourcesResponse *drapb.NodeUnprepareResourcesResponse) (fakeDRAServerInfo, error) {
112112
socketDir, err := os.MkdirTemp("", "dra")
113113
if err != nil {
114114
return fakeDRAServerInfo{
@@ -147,7 +147,7 @@ func setupFakeDRADriverGRPCServer(shouldTimeout bool, pluginClientTimeout *time.
147147
fakeDRADriverGRPCServer.timeout = &timeout
148148
}
149149

150-
drapbv1.RegisterNodeServer(s, fakeDRADriverGRPCServer)
150+
drapb.RegisterNodeServer(s, fakeDRADriverGRPCServer)
151151

152152
go func() {
153153
go s.Serve(l)
@@ -345,7 +345,7 @@ func TestPrepareResources(t *testing.T) {
345345
pod *v1.Pod
346346
claimInfo *ClaimInfo
347347
resourceClaim *resourcev1alpha2.ResourceClaim
348-
resp *drapbv1.NodePrepareResourcesResponse
348+
resp *drapb.NodePrepareResourcesResponse
349349
wantErr bool
350350
wantTimeout bool
351351
wantResourceSkipped bool
@@ -484,7 +484,7 @@ func TestPrepareResources(t *testing.T) {
484484
},
485485
},
486486
},
487-
resp: &drapbv1.NodePrepareResourcesResponse{Claims: map[string]*drapbv1.NodePrepareResourceResponse{"test-reserved": nil}},
487+
resp: &drapb.NodePrepareResourcesResponse{Claims: map[string]*drapb.NodePrepareResourceResponse{"test-reserved": nil}},
488488
expectedCDIDevices: []string{},
489489
ExpectedPrepareCalls: 1,
490490
},
@@ -541,7 +541,7 @@ func TestPrepareResources(t *testing.T) {
541541
},
542542
},
543543
},
544-
resp: &drapbv1.NodePrepareResourcesResponse{Claims: map[string]*drapbv1.NodePrepareResourceResponse{"test-reserved": nil}},
544+
resp: &drapb.NodePrepareResourcesResponse{Claims: map[string]*drapb.NodePrepareResourceResponse{"test-reserved": nil}},
545545
expectedCDIDevices: []string{},
546546
ExpectedPrepareCalls: 1,
547547
},
@@ -748,8 +748,8 @@ func TestPrepareResources(t *testing.T) {
748748
},
749749
},
750750
},
751-
resp: &drapbv1.NodePrepareResourcesResponse{
752-
Claims: map[string]*drapbv1.NodePrepareResourceResponse{
751+
resp: &drapb.NodePrepareResourcesResponse{
752+
Claims: map[string]*drapb.NodePrepareResourceResponse{
753753
"test-reserved": {CDIDevices: []string{fmt.Sprintf("%s/%s=claim-test-reserved", driverName, driverClassName)}},
754754
},
755755
},
@@ -810,8 +810,8 @@ func TestPrepareResources(t *testing.T) {
810810
},
811811
},
812812
},
813-
resp: &drapbv1.NodePrepareResourcesResponse{
814-
Claims: map[string]*drapbv1.NodePrepareResourceResponse{
813+
resp: &drapb.NodePrepareResourcesResponse{
814+
Claims: map[string]*drapb.NodePrepareResourceResponse{
815815
"test-reserved": {CDIDevices: []string{fmt.Sprintf("%s/%s=claim-test-reserved", driverName, driverClassName)}},
816816
},
817817
},
@@ -884,8 +884,8 @@ func TestPrepareResources(t *testing.T) {
884884
},
885885
},
886886
},
887-
resp: &drapbv1.NodePrepareResourcesResponse{
888-
Claims: map[string]*drapbv1.NodePrepareResourceResponse{
887+
resp: &drapb.NodePrepareResourcesResponse{
888+
Claims: map[string]*drapb.NodePrepareResourceResponse{
889889
"test-reserved": {CDIDevices: []string{fmt.Sprintf("%s/%s=claim-test-reserved", driverName, driverClassName)}},
890890
},
891891
},
@@ -977,7 +977,7 @@ func TestUnprepareResources(t *testing.T) {
977977
driverName string
978978
pod *v1.Pod
979979
claimInfo *ClaimInfo
980-
resp *drapbv1.NodeUnprepareResourcesResponse
980+
resp *drapb.NodeUnprepareResourcesResponse
981981
wantErr bool
982982
wantTimeout bool
983983
wantResourceSkipped bool
@@ -1117,7 +1117,7 @@ func TestUnprepareResources(t *testing.T) {
11171117
},
11181118
},
11191119
},
1120-
resp: &drapbv1.NodeUnprepareResourcesResponse{Claims: map[string]*drapbv1.NodeUnprepareResourceResponse{"test-reserved": {}}},
1120+
resp: &drapb.NodeUnprepareResourcesResponse{Claims: map[string]*drapb.NodeUnprepareResourceResponse{"test-reserved": {}}},
11211121
wantErr: true,
11221122
wantTimeout: true,
11231123
expectedUnprepareCalls: 1,
@@ -1168,7 +1168,7 @@ func TestUnprepareResources(t *testing.T) {
11681168
},
11691169
prepared: true,
11701170
},
1171-
resp: &drapbv1.NodeUnprepareResourcesResponse{Claims: map[string]*drapbv1.NodeUnprepareResourceResponse{"": {}}},
1171+
resp: &drapb.NodeUnprepareResourcesResponse{Claims: map[string]*drapb.NodeUnprepareResourceResponse{"": {}}},
11721172
expectedUnprepareCalls: 1,
11731173
},
11741174
{
@@ -1217,7 +1217,7 @@ func TestUnprepareResources(t *testing.T) {
12171217
},
12181218
prepared: false,
12191219
},
1220-
resp: &drapbv1.NodeUnprepareResourcesResponse{Claims: map[string]*drapbv1.NodeUnprepareResourceResponse{"": {}}},
1220+
resp: &drapb.NodeUnprepareResourcesResponse{Claims: map[string]*drapb.NodeUnprepareResourceResponse{"": {}}},
12211221
expectedUnprepareCalls: 1,
12221222
},
12231223
{
@@ -1267,7 +1267,7 @@ func TestUnprepareResources(t *testing.T) {
12671267
},
12681268
prepared: true,
12691269
},
1270-
resp: &drapbv1.NodeUnprepareResourcesResponse{Claims: map[string]*drapbv1.NodeUnprepareResourceResponse{"test-reserved": nil}},
1270+
resp: &drapb.NodeUnprepareResourcesResponse{Claims: map[string]*drapb.NodeUnprepareResourceResponse{"test-reserved": nil}},
12711271
expectedUnprepareCalls: 1,
12721272
},
12731273
} {

pkg/kubelet/cm/dra/plugin/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030

3131
utilversion "k8s.io/apimachinery/pkg/util/version"
3232
"k8s.io/klog/v2"
33-
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha3"
33+
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
3434
)
3535

3636
const PluginClientTimeout = 45 * time.Second

pkg/kubelet/cm/dra/plugin/client_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,27 @@ import (
2727

2828
"github.com/stretchr/testify/assert"
2929
"google.golang.org/grpc"
30-
drapbv1alpha3 "k8s.io/kubelet/pkg/apis/dra/v1alpha3"
30+
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
3131
"k8s.io/kubernetes/test/utils/ktesting"
3232
)
3333

3434
const (
35-
v1alpha3Version = "v1alpha3"
35+
v1alpha4Version = "v1alpha4"
3636
)
3737

38-
type fakeV1alpha3GRPCServer struct {
39-
drapbv1alpha3.UnimplementedNodeServer
38+
type fakeV1alpha4GRPCServer struct {
39+
drapb.UnimplementedNodeServer
4040
}
4141

42-
var _ drapbv1alpha3.NodeServer = &fakeV1alpha3GRPCServer{}
42+
var _ drapb.NodeServer = &fakeV1alpha4GRPCServer{}
4343

44-
func (f *fakeV1alpha3GRPCServer) NodePrepareResources(ctx context.Context, in *drapbv1alpha3.NodePrepareResourcesRequest) (*drapbv1alpha3.NodePrepareResourcesResponse, error) {
45-
return &drapbv1alpha3.NodePrepareResourcesResponse{Claims: map[string]*drapbv1alpha3.NodePrepareResourceResponse{"dummy": {CDIDevices: []string{"dummy"}}}}, nil
44+
func (f *fakeV1alpha4GRPCServer) NodePrepareResources(ctx context.Context, in *drapb.NodePrepareResourcesRequest) (*drapb.NodePrepareResourcesResponse, error) {
45+
return &drapb.NodePrepareResourcesResponse{Claims: map[string]*drapb.NodePrepareResourceResponse{"dummy": {CDIDevices: []string{"dummy"}}}}, nil
4646
}
4747

48-
func (f *fakeV1alpha3GRPCServer) NodeUnprepareResources(ctx context.Context, in *drapbv1alpha3.NodeUnprepareResourcesRequest) (*drapbv1alpha3.NodeUnprepareResourcesResponse, error) {
48+
func (f *fakeV1alpha4GRPCServer) NodeUnprepareResources(ctx context.Context, in *drapb.NodeUnprepareResourcesRequest) (*drapb.NodeUnprepareResourcesResponse, error) {
4949

50-
return &drapbv1alpha3.NodeUnprepareResourcesResponse{}, nil
50+
return &drapb.NodeUnprepareResourcesResponse{}, nil
5151
}
5252

5353
type tearDown func()
@@ -73,9 +73,9 @@ func setupFakeGRPCServer(version string) (string, tearDown, error) {
7373

7474
s := grpc.NewServer()
7575
switch version {
76-
case v1alpha3Version:
77-
fakeGRPCServer := &fakeV1alpha3GRPCServer{}
78-
drapbv1alpha3.RegisterNodeServer(s, fakeGRPCServer)
76+
case v1alpha4Version:
77+
fakeGRPCServer := &fakeV1alpha4GRPCServer{}
78+
drapb.RegisterNodeServer(s, fakeGRPCServer)
7979
default:
8080
return "", nil, fmt.Errorf("unsupported version: %s", version)
8181
}
@@ -91,7 +91,7 @@ func setupFakeGRPCServer(version string) (string, tearDown, error) {
9191

9292
func TestGRPCConnIsReused(t *testing.T) {
9393
ctx := ktesting.Init(t)
94-
addr, teardown, err := setupFakeGRPCServer(v1alpha3Version)
94+
addr, teardown, err := setupFakeGRPCServer(v1alpha4Version)
9595
if err != nil {
9696
t.Fatal(err)
9797
}
@@ -132,8 +132,8 @@ func TestGRPCConnIsReused(t *testing.T) {
132132
return
133133
}
134134

135-
req := &drapbv1alpha3.NodePrepareResourcesRequest{
136-
Claims: []*drapbv1alpha3.Claim{
135+
req := &drapb.NodePrepareResourcesRequest{
136+
Claims: []*drapb.Claim{
137137
{
138138
Namespace: "dummy-namespace",
139139
Uid: "dummy-uid",
@@ -218,13 +218,13 @@ func TestNodeUnprepareResources(t *testing.T) {
218218
description string
219219
serverSetup func(string) (string, tearDown, error)
220220
serverVersion string
221-
request *drapbv1alpha3.NodeUnprepareResourcesRequest
221+
request *drapb.NodeUnprepareResourcesRequest
222222
}{
223223
{
224-
description: "server supports v1alpha3",
224+
description: "server supports v1alpha4",
225225
serverSetup: setupFakeGRPCServer,
226-
serverVersion: v1alpha3Version,
227-
request: &drapbv1alpha3.NodeUnprepareResourcesRequest{},
226+
serverVersion: v1alpha4Version,
227+
request: &drapb.NodeUnprepareResourcesRequest{},
228228
},
229229
} {
230230
t.Run(test.description, func(t *testing.T) {

staging/src/k8s.io/dynamic-resource-allocation/kubeletplugin/draplugin.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
"k8s.io/apimachinery/pkg/types"
3131
"k8s.io/client-go/kubernetes"
3232
"k8s.io/dynamic-resource-allocation/resourceslice"
33-
drapbv1alpha3 "k8s.io/kubelet/pkg/apis/dra/v1alpha3"
33+
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
3434
registerapi "k8s.io/kubelet/pkg/apis/pluginregistration/v1"
3535
)
3636

@@ -308,9 +308,9 @@ func Start(ctx context.Context, nodeServer interface{}, opts ...Option) (result
308308
// Run the node plugin gRPC server first to ensure that it is ready.
309309
implemented := false
310310
plugin, err := startGRPCServer(klog.NewContext(ctx, klog.LoggerWithName(logger, "dra")), o.grpcVerbosity, o.unaryInterceptors, o.streamInterceptors, o.draEndpoint, func(grpcServer *grpc.Server) {
311-
if nodeServer, ok := nodeServer.(drapbv1alpha3.NodeServer); ok && o.nodeV1alpha3 {
311+
if nodeServer, ok := nodeServer.(drapb.NodeServer); ok && o.nodeV1alpha3 {
312312
logger.V(5).Info("registering drapbv1alpha3.NodeServer")
313-
drapbv1alpha3.RegisterNodeServer(grpcServer, nodeServer)
313+
drapb.RegisterNodeServer(grpcServer, nodeServer)
314314
implemented = true
315315
}
316316
})

staging/src/k8s.io/kubelet/pkg/apis/dra/v1alpha3/api.pb.go renamed to staging/src/k8s.io/kubelet/pkg/apis/dra/v1alpha4/api.pb.go

Lines changed: 31 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)