From 11c7fc02d604a2a7a8ebacb7b62d80f24677e303 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Sun, 27 Jun 2021 14:14:30 +0000 Subject: [PATCH] little refactor --- .../pkg/provider/azure_controller_common.go | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_common.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_common.go index 44f6452a75..91a023f823 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_common.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_common.go @@ -144,18 +144,13 @@ func (c *controllerCommon) getNodeVMSet(nodeName types.NodeName, crt azcache.Azu // AttachDisk attaches a vhd to vm. The vhd must exist, can be identified by diskName, diskURI. // return (lun, error) -func (c *controllerCommon) AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, cachingMode compute.CachingTypes, disk *compute.Disk) (int32, error) { +func (c *controllerCommon) AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, + cachingMode compute.CachingTypes, disk *compute.Disk) (int32, error) { diskEncryptionSetID := "" writeAcceleratorEnabled := false - resourceGroup, err := getResourceGroupFromDiskURI(diskURI) - if err != nil { - return -1, err - } - - ctx, cancel := getContextWithCancel() - defer cancel() - + // there is possibility that disk is nil when GetDisk is throttled + // don't check disk state when GetDisk is throttled if disk != nil { if disk.ManagedBy != nil && (disk.MaxShares == nil || *disk.MaxShares <= 1) { vmset, err := c.getNodeVMSet(nodeName, azcache.CacheReadTypeUnsafe) @@ -260,6 +255,15 @@ func (c *controllerCommon) AttachDisk(isManagedDisk bool, diskName, diskURI stri // unlock and wait for attach disk complete unlock = true c.lockMap.UnlockEntry(node) + + ctx, cancel := getContextWithCancel() + defer cancel() + + resourceGroup, err := getResourceGroupFromDiskURI(diskURI) + if err != nil { + return -1, err + } + return lun, vmset.WaitForUpdateResult(ctx, future, resourceGroup, "attach_disk") } @@ -355,10 +359,9 @@ func (c *controllerCommon) DetachDisk(diskName, diskURI string, nodeName types.N klog.Warningf("azureDisk - got InstanceNotFoundError(%v), DetachDisk(%s) will assume disk is already detached", err, diskURI) return nil - } else { - klog.Errorf("azureDisk - detach disk(%s, %s) failed with error: %v", diskName, diskURI, err) - return err } + klog.Errorf("azureDisk - detach disk(%s, %s) failed, err: %v", diskName, diskURI, err) + return err } resourceGroup, err := getResourceGroupFromDiskURI(diskURI) if err != nil { @@ -372,6 +375,7 @@ func (c *controllerCommon) DetachDisk(diskName, diskURI string, nodeName types.N return err } } + klog.V(2).Infof("azureDisk - detach disk(%s, %s) succeeded", diskName, diskURI) return nil }