mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
azure disk: if the disk is not found, immediately detach it. This prevents azure keeps the bad request and stops issuing new request
Signed-off-by: Huamin Chen <hchen@redhat.com>
This commit is contained in:
parent
0b6b8cda6d
commit
a8f7404a13
@ -43,6 +43,7 @@ const (
|
|||||||
errLeaseFailed = "AcquireDiskLeaseFailed"
|
errLeaseFailed = "AcquireDiskLeaseFailed"
|
||||||
errLeaseIDMissing = "LeaseIdMissing"
|
errLeaseIDMissing = "LeaseIdMissing"
|
||||||
errContainerNotFound = "ContainerNotFound"
|
errContainerNotFound = "ContainerNotFound"
|
||||||
|
errDiskBlobNotFound = "DiskBlobNotFound"
|
||||||
)
|
)
|
||||||
|
|
||||||
var defaultBackOff = kwait.Backoff{
|
var defaultBackOff = kwait.Backoff{
|
||||||
@ -124,9 +125,9 @@ func (c *controllerCommon) AttachDisk(isManagedDisk bool, diskName, diskURI stri
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("azureDisk - azure attach failed, err: %v", err)
|
glog.Errorf("azureDisk - azure attach failed, err: %v", err)
|
||||||
detail := err.Error()
|
detail := err.Error()
|
||||||
if strings.Contains(detail, errLeaseFailed) {
|
if strings.Contains(detail, errLeaseFailed) || strings.Contains(detail, errDiskBlobNotFound) {
|
||||||
// if lease cannot be acquired, immediately detach the disk and return the original error
|
// if lease cannot be acquired or disk not found, immediately detach the disk and return the original error
|
||||||
glog.Infof("azureDisk - failed to acquire disk lease, try detach")
|
glog.Infof("azureDisk - err %s, try detach", detail)
|
||||||
c.cloud.DetachDiskByName(diskName, diskURI, nodeName)
|
c.cloud.DetachDiskByName(diskName, diskURI, nodeName)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user