Skip to content

Commit fb72094

Browse files
committed
fix: azure file mount timeout issue
1 parent 6e35a13 commit fb72094

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

pkg/volume/azure_file/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ go_library(
1818
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
1919
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
2020
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
21+
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
2122
"//staging/src/k8s.io/cloud-provider:go_default_library",
2223
"//staging/src/k8s.io/cloud-provider/volume/helpers:go_default_library",
2324
"//staging/src/k8s.io/legacy-cloud-providers/azure:go_default_library",

pkg/volume/azure_file/azure_file.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"io/ioutil"
2424
"os"
2525
"runtime"
26+
"time"
2627

2728
"k8s.io/klog"
2829
"k8s.io/utils/mount"
@@ -32,6 +33,7 @@ import (
3233
"k8s.io/apimachinery/pkg/api/resource"
3334
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3435
"k8s.io/apimachinery/pkg/types"
36+
"k8s.io/apimachinery/pkg/util/wait"
3537
cloudprovider "k8s.io/cloud-provider"
3638
volumehelpers "k8s.io/cloud-provider/volume/helpers"
3739
"k8s.io/kubernetes/pkg/volume"
@@ -289,7 +291,15 @@ func (b *azureFileMounter) SetUpAt(dir string, mounterArgs volume.MounterArgs) e
289291
mountOptions = appendDefaultMountOptions(mountOptions, mounterArgs.FsGroup)
290292
}
291293

292-
err = b.mounter.Mount(source, dir, "cifs", mountOptions)
294+
mountComplete := false
295+
err = wait.Poll(5*time.Second, 10*time.Minute, func() (bool, error) {
296+
err := b.mounter.Mount(source, dir, "cifs", mountOptions)
297+
mountComplete = true
298+
return true, err
299+
})
300+
if !mountComplete {
301+
return fmt.Errorf("volume(%s) mount on %s timeout(10m)", source, dir)
302+
}
293303
if err != nil {
294304
notMnt, mntErr := b.mounter.IsLikelyNotMountPoint(dir)
295305
if mntErr != nil {

0 commit comments

Comments
 (0)