Skip to content

Commit 9b3e1cd

Browse files
committed
fix: ValidateVolumeCapabilities
1 parent f9faadf commit 9b3e1cd

File tree

3 files changed

+28
-32
lines changed

3 files changed

+28
-32
lines changed

.github/workflows/static.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- name: Run linter
1313
uses: golangci/golangci-lint-action@v2
1414
with:
15-
version: v1.29
15+
version: v1.31
1616
args: -E=gofmt,deadcode,unused,varcheck,ineffassign,golint,misspell --timeout=30m0s
1717
verify-helm:
1818
name: Verify Helm

pkg/nfs/controllerserver.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,12 @@ func (cs *ControllerServer) ValidateVolumeCapabilities(ctx context.Context, req
178178
return nil, status.Error(codes.InvalidArgument, "Volume capabilities missing in request")
179179
}
180180

181-
// supports all AccessModes, no need to check capabilities here
182-
return &csi.ValidateVolumeCapabilitiesResponse{Message: ""}, nil
181+
return &csi.ValidateVolumeCapabilitiesResponse{
182+
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{
183+
VolumeCapabilities: req.GetVolumeCapabilities(),
184+
},
185+
Message: "",
186+
}, nil
183187
}
184188

185189
func (cs *ControllerServer) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error) {

pkg/nfs/controllerserver_test.go

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,17 @@ func TestDeleteVolume(t *testing.T) {
294294
}
295295

296296
func TestValidateVolumeCapabilities(t *testing.T) {
297+
capabilities := []*csi.VolumeCapability{
298+
{
299+
AccessType: &csi.VolumeCapability_Mount{
300+
Mount: &csi.VolumeCapability_MountVolume{},
301+
},
302+
AccessMode: &csi.VolumeCapability_AccessMode{
303+
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
304+
},
305+
},
306+
}
307+
297308
cases := []struct {
298309
desc string
299310
req *csi.ValidateVolumeCapabilitiesRequest
@@ -315,51 +326,32 @@ func TestValidateVolumeCapabilities(t *testing.T) {
315326
{
316327
desc: "valid request",
317328
req: &csi.ValidateVolumeCapabilitiesRequest{
318-
VolumeId: testVolumeID,
319-
VolumeCapabilities: []*csi.VolumeCapability{
320-
{
321-
AccessType: &csi.VolumeCapability_Mount{
322-
Mount: &csi.VolumeCapability_MountVolume{},
323-
},
324-
AccessMode: &csi.VolumeCapability_AccessMode{
325-
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
326-
},
327-
},
328-
},
329+
VolumeId: testVolumeID,
330+
VolumeCapabilities: capabilities,
331+
},
332+
resp: &csi.ValidateVolumeCapabilitiesResponse{
333+
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{VolumeCapabilities: capabilities},
329334
},
330-
resp: &csi.ValidateVolumeCapabilitiesResponse{Message: ""},
331335
expectedErr: nil,
332336
},
333337
{
334338
desc: "valid request with newTestVolumeID",
335339
req: &csi.ValidateVolumeCapabilitiesRequest{
336-
VolumeId: newTestVolumeID,
337-
VolumeCapabilities: []*csi.VolumeCapability{
338-
{
339-
AccessType: &csi.VolumeCapability_Mount{
340-
Mount: &csi.VolumeCapability_MountVolume{},
341-
},
342-
AccessMode: &csi.VolumeCapability_AccessMode{
343-
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
344-
},
345-
},
346-
},
340+
VolumeId: newTestVolumeID,
341+
VolumeCapabilities: capabilities,
342+
},
343+
resp: &csi.ValidateVolumeCapabilitiesResponse{
344+
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{VolumeCapabilities: capabilities},
347345
},
348-
resp: &csi.ValidateVolumeCapabilitiesResponse{Message: ""},
349346
expectedErr: nil,
350347
},
351348
}
352349

353350
for _, test := range cases {
354351
test := test //pin
355352
t.Run(test.desc, func(t *testing.T) {
356-
// Setup
357353
cs := initTestController(t)
358-
359-
// Run
360354
resp, err := cs.ValidateVolumeCapabilities(context.TODO(), test.req)
361-
362-
// Verify
363355
if test.expectedErr == nil && err != nil {
364356
t.Errorf("test %q failed: %v", test.desc, err)
365357
}

0 commit comments

Comments
 (0)