@@ -27,23 +27,20 @@ import (
27
27
28
28
"github.com/stretchr/testify/assert"
29
29
"google.golang.org/grpc"
30
- drapb "k8s.io/kubelet/pkg/apis/dra/v1beta1"
30
+ drapbv1alpha4 "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
31
+ drapbv1beta1 "k8s.io/kubelet/pkg/apis/dra/v1beta1"
31
32
"k8s.io/kubernetes/test/utils/ktesting"
32
33
)
33
34
34
- const (
35
- v1alpha4Version = "v1alpha4"
36
- )
37
-
38
- type fakeV1alpha4GRPCServer struct {
39
- drapb.UnimplementedDRAPluginServer
35
+ type fakeGRPCServer struct {
36
+ drapbv1beta1.UnimplementedDRAPluginServer
40
37
}
41
38
42
- var _ drapb .DRAPluginServer = & fakeV1alpha4GRPCServer {}
39
+ var _ drapbv1beta1 .DRAPluginServer = & fakeGRPCServer {}
43
40
44
- func (f * fakeV1alpha4GRPCServer ) NodePrepareResources (ctx context.Context , in * drapb .NodePrepareResourcesRequest ) (* drapb .NodePrepareResourcesResponse , error ) {
45
- return & drapb .NodePrepareResourcesResponse {Claims : map [string ]* drapb .NodePrepareResourceResponse {"claim-uid" : {
46
- Devices : []* drapb .Device {
41
+ func (f * fakeGRPCServer ) NodePrepareResources (ctx context.Context , in * drapbv1beta1 .NodePrepareResourcesRequest ) (* drapbv1beta1 .NodePrepareResourcesResponse , error ) {
42
+ return & drapbv1beta1 .NodePrepareResourcesResponse {Claims : map [string ]* drapbv1beta1 .NodePrepareResourceResponse {"claim-uid" : {
43
+ Devices : []* drapbv1beta1 .Device {
47
44
{
48
45
RequestNames : []string {"test-request" },
49
46
CDIDeviceIDs : []string {"test-cdi-id" },
@@ -52,14 +49,14 @@ func (f *fakeV1alpha4GRPCServer) NodePrepareResources(ctx context.Context, in *d
52
49
}}}, nil
53
50
}
54
51
55
- func (f * fakeV1alpha4GRPCServer ) NodeUnprepareResources (ctx context.Context , in * drapb .NodeUnprepareResourcesRequest ) (* drapb .NodeUnprepareResourcesResponse , error ) {
52
+ func (f * fakeGRPCServer ) NodeUnprepareResources (ctx context.Context , in * drapbv1beta1 .NodeUnprepareResourcesRequest ) (* drapbv1beta1 .NodeUnprepareResourcesResponse , error ) {
56
53
57
- return & drapb .NodeUnprepareResourcesResponse {}, nil
54
+ return & drapbv1beta1 .NodeUnprepareResourcesResponse {}, nil
58
55
}
59
56
60
57
type tearDown func ()
61
58
62
- func setupFakeGRPCServer (version string ) (string , tearDown , error ) {
59
+ func setupFakeGRPCServer (service string ) (string , tearDown , error ) {
63
60
p , err := os .MkdirTemp ("" , "dra_plugin" )
64
61
if err != nil {
65
62
return "" , nil , err
@@ -81,12 +78,14 @@ func setupFakeGRPCServer(version string) (string, tearDown, error) {
81
78
}
82
79
83
80
s := grpc .NewServer ()
84
- switch version {
85
- case v1alpha4Version :
86
- fakeGRPCServer := & fakeV1alpha4GRPCServer {}
87
- drapb .RegisterDRAPluginServer (s , fakeGRPCServer )
81
+ fakeGRPCServer := & fakeGRPCServer {}
82
+ switch service {
83
+ case drapbv1beta1 .DRAPluginService :
84
+ drapbv1beta1 .RegisterDRAPluginServer (s , fakeGRPCServer )
85
+ case drapbv1alpha4 .NodeService :
86
+ drapbv1alpha4 .RegisterNodeServer (s , fakeGRPCServer )
88
87
default :
89
- return "" , nil , fmt .Errorf ("unsupported version : %s" , version )
88
+ return "" , nil , fmt .Errorf ("unsupported gRPC service : %s" , service )
90
89
}
91
90
92
91
go func () {
@@ -104,7 +103,8 @@ func setupFakeGRPCServer(version string) (string, tearDown, error) {
104
103
105
104
func TestGRPCConnIsReused (t * testing.T ) {
106
105
tCtx := ktesting .Init (t )
107
- addr , teardown , err := setupFakeGRPCServer (v1alpha4Version )
106
+ service := drapbv1beta1 .DRAPluginService
107
+ addr , teardown , err := setupFakeGRPCServer (service )
108
108
if err != nil {
109
109
t .Fatal (err )
110
110
}
@@ -119,10 +119,11 @@ func TestGRPCConnIsReused(t *testing.T) {
119
119
name : pluginName ,
120
120
backgroundCtx : tCtx ,
121
121
endpoint : addr ,
122
+ chosenService : service ,
122
123
clientCallTimeout : defaultClientCallTimeout ,
123
124
}
124
125
125
- conn , _ , err := p .getOrCreateGRPCConn ()
126
+ conn , err := p .getOrCreateGRPCConn ()
126
127
defer func () {
127
128
err := conn .Close ()
128
129
if err != nil {
@@ -148,8 +149,8 @@ func TestGRPCConnIsReused(t *testing.T) {
148
149
return
149
150
}
150
151
151
- req := & drapb .NodePrepareResourcesRequest {
152
- Claims : []* drapb .Claim {
152
+ req := & drapbv1beta1 .NodePrepareResourcesRequest {
153
+ Claims : []* drapbv1beta1 .Claim {
153
154
{
154
155
Namespace : "dummy-namespace" ,
155
156
UID : "dummy-uid" ,
@@ -233,21 +234,27 @@ func TestNewDRAPluginClient(t *testing.T) {
233
234
234
235
func TestNodeUnprepareResources (t * testing.T ) {
235
236
for _ , test := range []struct {
236
- description string
237
- serverSetup func (string ) (string , tearDown , error )
238
- serverVersion string
239
- request * drapb .NodeUnprepareResourcesRequest
237
+ description string
238
+ serverSetup func (string ) (string , tearDown , error )
239
+ service string
240
+ request * drapbv1beta1 .NodeUnprepareResourcesRequest
240
241
}{
241
242
{
242
- description : "server supports v1alpha4" ,
243
- serverSetup : setupFakeGRPCServer ,
244
- serverVersion : v1alpha4Version ,
245
- request : & drapb.NodeUnprepareResourcesRequest {},
243
+ description : "server supports v1alpha4" ,
244
+ serverSetup : setupFakeGRPCServer ,
245
+ service : drapbv1alpha4 .NodeService ,
246
+ request : & drapbv1beta1.NodeUnprepareResourcesRequest {},
247
+ },
248
+ {
249
+ description : "server supports v1beta1" ,
250
+ serverSetup : setupFakeGRPCServer ,
251
+ service : drapbv1beta1 .DRAPluginService ,
252
+ request : & drapbv1beta1.NodeUnprepareResourcesRequest {},
246
253
},
247
254
} {
248
255
t .Run (test .description , func (t * testing.T ) {
249
256
tCtx := ktesting .Init (t )
250
- addr , teardown , err := setupFakeGRPCServer (test .serverVersion )
257
+ addr , teardown , err := setupFakeGRPCServer (test .service )
251
258
if err != nil {
252
259
t .Fatal (err )
253
260
}
@@ -258,10 +265,11 @@ func TestNodeUnprepareResources(t *testing.T) {
258
265
name : pluginName ,
259
266
backgroundCtx : tCtx ,
260
267
endpoint : addr ,
268
+ chosenService : test .service ,
261
269
clientCallTimeout : defaultClientCallTimeout ,
262
270
}
263
271
264
- conn , _ , err := p .getOrCreateGRPCConn ()
272
+ conn , err := p .getOrCreateGRPCConn ()
265
273
defer func () {
266
274
err := conn .Close ()
267
275
if err != nil {
0 commit comments