Fix FC WaitForAttach not mounting a volume

WaitForAttach failed consistently with this error:

Heuristic determination of mount point failed:stat
/var/lib/kubelet/plugins/kubernetes.io/fc/<wwn>-lun-0:
no such file or directory

We should create dir first to avoid the error.

Fixes: #52674
This commit is contained in:
mtanino 2017-09-18 17:12:20 -04:00
parent 00c1ec5201
commit 9e83cc78e6

View File

@ -219,6 +219,10 @@ func (util *FCUtil) AttachDisk(b fcDiskMounter) (string, error) {
}
// mount it
globalPDPath := util.MakeGlobalPDName(*b.fcDisk)
if err := os.MkdirAll(globalPDPath, 0750); err != nil {
return devicePath, fmt.Errorf("fc: failed to mkdir %s, error", globalPDPath)
}
noMnt, err := b.mounter.IsLikelyNotMountPoint(globalPDPath)
if err != nil {
return devicePath, fmt.Errorf("Heuristic determination of mount point failed:%v", err)
@ -228,10 +232,6 @@ func (util *FCUtil) AttachDisk(b fcDiskMounter) (string, error) {
return devicePath, nil
}
if err := os.MkdirAll(globalPDPath, 0750); err != nil {
return devicePath, fmt.Errorf("fc: failed to mkdir %s, error", globalPDPath)
}
err = b.mounter.FormatAndMount(devicePath, globalPDPath, b.fsType, nil)
if err != nil {
return devicePath, fmt.Errorf("fc: failed to mount fc volume %s [%s] to %s, error %v", devicePath, b.fsType, globalPDPath, err)