From 1836e567a9899d3f8ab4060317aa18d6155c62fd Mon Sep 17 00:00:00 2001 From: Dong Liu Date: Thu, 4 Jan 2018 11:46:29 +0800 Subject: [PATCH] Return actual error when backoff fails --- pkg/cloudprovider/providers/azure/azure_backoff.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/cloudprovider/providers/azure/azure_backoff.go b/pkg/cloudprovider/providers/azure/azure_backoff.go index 5eb622950eb..099fea81fe1 100644 --- a/pkg/cloudprovider/providers/azure/azure_backoff.go +++ b/pkg/cloudprovider/providers/azure/azure_backoff.go @@ -44,8 +44,8 @@ func (az *Cloud) requestBackoff() (resourceRequestBackoff wait.Backoff) { // GetVirtualMachineWithRetry invokes az.getVirtualMachine with exponential backoff retry func (az *Cloud) GetVirtualMachineWithRetry(name types.NodeName) (compute.VirtualMachine, error) { var machine compute.VirtualMachine + var retryErr error err := wait.ExponentialBackoff(az.requestBackoff(), func() (bool, error) { - var retryErr error machine, retryErr = az.getVirtualMachine(name) if retryErr != nil { glog.Errorf("backoff: failure, will retry,err=%v", retryErr) @@ -54,6 +54,10 @@ func (az *Cloud) GetVirtualMachineWithRetry(name types.NodeName) (compute.Virtua glog.V(2).Infof("backoff: success") return true, nil }) + if err == wait.ErrWaitTimeout { + err = retryErr + } + return machine, err }