diff --git a/pkg/azuredisk/azuredisk.go b/pkg/azuredisk/azuredisk.go index d324d6bbce..23c959f368 100644 --- a/pkg/azuredisk/azuredisk.go +++ b/pkg/azuredisk/azuredisk.go @@ -399,7 +399,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 4902303fde..6ca288d92a 100644 --- a/pkg/azuredisk/controllerserver_test.go +++ b/pkg/azuredisk/controllerserver_test.go @@ -724,7 +724,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)