probeAttachedVolume improvement in Cinder

This commit is contained in:
edisonxiang 2017-11-17 21:46:14 +08:00
parent 7b9affae66
commit 4aac6a80a3
2 changed files with 13 additions and 1 deletions

View File

@ -44,7 +44,7 @@ var _ volume.Attacher = &cinderDiskAttacher{}
var _ volume.AttachableVolumePlugin = &cinderPlugin{} var _ volume.AttachableVolumePlugin = &cinderPlugin{}
const ( const (
checkSleepDuration = 1 * time.Second checkSleepDuration = 5 * time.Second
operationFinishInitDealy = 1 * time.Second operationFinishInitDealy = 1 * time.Second
operationFinishFactor = 1.1 operationFinishFactor = 1.1
operationFinishSteps = 10 operationFinishSteps = 10

View File

@ -224,6 +224,18 @@ func probeAttachedVolume() error {
scsiHostRescan() scsiHostRescan()
executor := exec.New() executor := exec.New()
// udevadm settle waits for udevd to process the device creation
// events for all hardware devices, thus ensuring that any device
// nodes have been created successfully before proceeding.
argsSettle := []string{"settle", "--timeout=1"}
cmdSettle := executor.Command("udevadm", argsSettle...)
_, errSettle := cmdSettle.CombinedOutput()
if errSettle != nil {
glog.Errorf("error running udevadm settle %v\n", errSettle)
return errSettle
}
args := []string{"trigger"} args := []string{"trigger"}
cmd := executor.Command("udevadm", args...) cmd := executor.Command("udevadm", args...)
_, err := cmd.CombinedOutput() _, err := cmd.CombinedOutput()