From 2760c7b418ef61c5dca2d9d6824eae97b6916e45 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Fri, 3 Jan 2025 04:00:16 +0000 Subject: [PATCH] fix: get disk stuck issue fix --- pkg/azuredisk/azuredisk.go | 7 ++++++- pkg/azuredisk/controllerserver_test.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/azuredisk/azuredisk.go b/pkg/azuredisk/azuredisk.go index 65066bb9f9..5cf65726d7 100644 --- a/pkg/azuredisk/azuredisk.go +++ b/pkg/azuredisk/azuredisk.go @@ -410,7 +410,12 @@ func (d *Driver) checkDiskExists(ctx context.Context, diskURI string) (*armcompu if err != nil { return nil, err } - disk, err := diskClient.Get(ctx, resourceGroup, diskName) + + // get disk operation should timeout within 1min if it takes too long time + newCtx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + + disk, err := diskClient.Get(newCtx, resourceGroup, diskName) if err != nil { return nil, err } diff --git a/pkg/azuredisk/controllerserver_test.go b/pkg/azuredisk/controllerserver_test.go index c0f1761f97..a3baa10a42 100644 --- a/pkg/azuredisk/controllerserver_test.go +++ b/pkg/azuredisk/controllerserver_test.go @@ -725,7 +725,7 @@ func TestControllerModifyVolume(t *testing.T) { } diskClient := mock_diskclient.NewMockInterface(cntl) d.getClientFactory().(*mock_azclient.MockClientFactory).EXPECT().GetDiskClientForSub(gomock.Any()).Return(diskClient, nil).AnyTimes() - diskClient.EXPECT().Get(gomock.Eq(ctx), gomock.Any(), gomock.Any()).Return(disk, nil).AnyTimes() + diskClient.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any()).Return(disk, nil).AnyTimes() diskClient.EXPECT().Patch(gomock.Eq(ctx), gomock.Any(), gomock.Any(), gomock.Any()).Return(disk, nil).AnyTimes() result, err := d.ControllerModifyVolume(ctx, test.req)