mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
Prevent GCE PD attach code from succeding if disk failed to attach.
This commit is contained in:
parent
3902f76512
commit
1bb4809841
@ -125,6 +125,9 @@ func attachDiskAndVerify(b *gcePersistentDiskBuilder, sdBeforeSet sets.String) (
|
|||||||
devicePaths := getDiskByIdPaths(b.gcePersistentDisk)
|
devicePaths := getDiskByIdPaths(b.gcePersistentDisk)
|
||||||
var gceCloud *gce_cloud.GCECloud
|
var gceCloud *gce_cloud.GCECloud
|
||||||
for numRetries := 0; numRetries < maxRetries; numRetries++ {
|
for numRetries := 0; numRetries < maxRetries; numRetries++ {
|
||||||
|
// Block execution until any pending detach goroutines for this pd have completed
|
||||||
|
detachCleanupManager.Send(b.pdName, true)
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
if gceCloud == nil {
|
if gceCloud == nil {
|
||||||
gceCloud, err = getCloudProvider()
|
gceCloud, err = getCloudProvider()
|
||||||
@ -141,9 +144,10 @@ func attachDiskAndVerify(b *gcePersistentDiskBuilder, sdBeforeSet sets.String) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err := gceCloud.AttachDisk(b.pdName, b.readOnly); err != nil {
|
if err := gceCloud.AttachDisk(b.pdName, b.readOnly); err != nil {
|
||||||
// Retry on error. See issue #11321. Continue and verify if disk is attached, because a
|
// Retry on error. See issue #11321.
|
||||||
// previous attach operation may still succeed.
|
|
||||||
glog.Errorf("Error attaching PD %q: %v", b.pdName, err)
|
glog.Errorf("Error attaching PD %q: %v", b.pdName, err)
|
||||||
|
time.Sleep(errorSleepDuration)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
for numChecks := 0; numChecks < maxChecks; numChecks++ {
|
for numChecks := 0; numChecks < maxChecks; numChecks++ {
|
||||||
|
Loading…
Reference in New Issue
Block a user