Skip to content

Commit 3fdd2b3

Browse files
committed
GetClosestVolumeIDFromTargetPath server implementation
1 parent 5476c1a commit 3fdd2b3

File tree

7 files changed

+79
-2
lines changed

7 files changed

+79
-2
lines changed

integrationtests/volume_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,4 +172,8 @@ func TestVolumeAPIs(t *testing.T) {
172172
skipTestOnCondition(t, isRunningOnGhActions())
173173
v1VolumeTests(t)
174174
})
175+
t.Run("v2alpha1Tests", func(t *testing.T) {
176+
skipTestOnCondition(t, isRunningOnGhActions())
177+
v2alpha1VolumeTests(t)
178+
})
175179
}

pkg/server/volume/api_group_generated.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/server/volume/impl/types.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,14 @@ type GetVolumeIDFromTargetPathResponse struct {
8585
VolumeId string
8686
}
8787

88+
type GetClosestVolumeIDFromTargetPathRequest struct {
89+
TargetPath string
90+
}
91+
92+
type GetClosestVolumeIDFromTargetPathResponse struct {
93+
VolumeId string
94+
}
95+
8896
// These structs are used in APIs less than v1beta3 and rerouted internally
8997

9098
type DismountVolumeRequest struct {

pkg/server/volume/impl/v1/server_generated.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/server/volume/impl/v2alpha1/conversion_generated.go

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

pkg/server/volume/server.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,3 +290,24 @@ func (s *Server) GetVolumeIDFromTargetPath(context context.Context, request *int
290290

291291
return response, nil
292292
}
293+
294+
func (s *Server) GetClosestVolumeIDFromTargetPath(context context.Context, request *internal.GetClosestVolumeIDFromTargetPathRequest, version apiversion.Version) (*internal.GetClosestVolumeIDFromTargetPathResponse, error) {
295+
klog.V(2).Infof("GetClosestVolumeIDFromTargetPath: Request: %+v", request)
296+
297+
targetPath := request.TargetPath
298+
if targetPath == "" {
299+
return nil, fmt.Errorf("target path is empty")
300+
}
301+
302+
volume, err := s.hostAPI.GetClosestVolumeIDFromTargetPath(targetPath)
303+
if err != nil {
304+
klog.Errorf("failed GetClosestVolumeIDFromTargetPath: %v", err)
305+
return nil, err
306+
}
307+
308+
response := &internal.GetClosestVolumeIDFromTargetPathResponse{
309+
VolumeId: volume,
310+
}
311+
312+
return response, nil
313+
}

pkg/server/volume/server_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ func (volumeAPI *fakeVolumeAPI) GetVolumeIDFromTargetPath(mount string) (string,
5858
return "id", nil
5959
}
6060

61+
func (volumeAPI *fakeVolumeAPI) GetClosestVolumeIDFromTargetPath(mount string) (string, error) {
62+
return "id", nil
63+
}
64+
6165
func (volumeAPI *fakeVolumeAPI) GetVolumeStats(volumeID string) (int64, int64, error) {
6266
return -1, -1, nil
6367
}

0 commit comments

Comments
 (0)