diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go index 4ac75d10fa2..92611567d97 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go @@ -965,6 +965,11 @@ func (ss *scaleSet) EnsureHostInPool(service *v1.Service, nodeName types.NodeNam vmName := mapNodeNameToVMName(nodeName) ssName, instanceID, vm, err := ss.getVmssVM(vmName, azcache.CacheReadTypeDefault) if err != nil { + if errors.Is(err, cloudprovider.InstanceNotFound) { + klog.Infof("EnsureHostInPool: skipping node %s because it is not found", vmName) + return "", "", "", nil, nil + } + return "", "", "", nil, err } @@ -1340,6 +1345,11 @@ func (ss *scaleSet) EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, bac func (ss *scaleSet) ensureBackendPoolDeletedFromNode(nodeName, backendPoolID string) (string, string, string, *compute.VirtualMachineScaleSetVM, error) { ssName, instanceID, vm, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault) if err != nil { + if errors.Is(err, cloudprovider.InstanceNotFound) { + klog.Infof("ensureBackendPoolDeletedFromNode: skipping node %s because it is not found", nodeName) + return "", "", "", nil, nil + } + return "", "", "", nil, err } diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_test.go index 9551607bd27..a756cc52eea 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_test.go @@ -2145,7 +2145,7 @@ func TestEnsureHostsInPool(t *testing.T) { expectedVMSSVMPutTimes: 1, }, { - description: "EnsureHostsInPool should gather report the error if something goes wrong in EnsureHostInPool", + description: "EnsureHostsInPool should skip not found nodes", nodes: []*v1.Node{ { ObjectMeta: metav1.ObjectMeta{ @@ -2159,7 +2159,7 @@ func TestEnsureHostsInPool(t *testing.T) { backendpoolID: testLBBackendpoolID1, vmSetName: testVMSSName, expectedVMSSVMPutTimes: 0, - expectedErr: true, + expectedErr: false, }, } @@ -2205,9 +2205,8 @@ func TestEnsureBackendPoolDeletedFromNode(t *testing.T) { expectedErr error }{ { - description: "ensureBackendPoolDeletedFromNode should report the error that occurs during getVmssVM", + description: "ensureBackendPoolDeletedFromNode should skip not found nodes", nodeName: "vmss-vm-000001", - expectedErr: cloudprovider.InstanceNotFound, }, { description: "ensureBackendPoolDeletedFromNode skip the node if the VM's NIC config is nil",