From bace00689b486e842af251a8fd71eab64a1c0b9e Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Thu, 22 Mar 2018 16:46:04 +0800 Subject: [PATCH] Ensure cloudprovider.InstanceNotFound is reported when the VM is not found on Azure --- pkg/cloudprovider/providers/azure/azure_backoff.go | 4 ++++ pkg/cloudprovider/providers/azure/azure_standard.go | 3 +++ 2 files changed, 7 insertions(+) diff --git a/pkg/cloudprovider/providers/azure/azure_backoff.go b/pkg/cloudprovider/providers/azure/azure_backoff.go index 16fb0dfe2a9..8d6cac3bcd5 100644 --- a/pkg/cloudprovider/providers/azure/azure_backoff.go +++ b/pkg/cloudprovider/providers/azure/azure_backoff.go @@ -28,6 +28,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/kubernetes/pkg/cloudprovider" ) // requestBackoff if backoff is disabled in cloud provider it @@ -51,6 +52,9 @@ func (az *Cloud) GetVirtualMachineWithRetry(name types.NodeName) (compute.Virtua var retryErr error err := wait.ExponentialBackoff(az.requestBackoff(), func() (bool, error) { machine, retryErr = az.getVirtualMachine(name) + if retryErr == cloudprovider.InstanceNotFound { + return true, cloudprovider.InstanceNotFound + } if retryErr != nil { glog.Errorf("backoff: failure, will retry,err=%v", retryErr) return false, nil diff --git a/pkg/cloudprovider/providers/azure/azure_standard.go b/pkg/cloudprovider/providers/azure/azure_standard.go index 9c5a9c33346..1e93b2316e9 100644 --- a/pkg/cloudprovider/providers/azure/azure_standard.go +++ b/pkg/cloudprovider/providers/azure/azure_standard.go @@ -366,6 +366,9 @@ func (as *availabilitySet) GetInstanceIDByNodeName(name string) (string, error) var err error machine, err = as.getVirtualMachine(types.NodeName(name)) + if err == cloudprovider.InstanceNotFound { + return "", cloudprovider.InstanceNotFound + } if err != nil { if as.CloudProviderBackoff { glog.V(2).Infof("InstanceID(%s) backing off", name)