Skip to content

Commit

Permalink
fix: skip not found nodes when reconciling LB backend address pools
Browse files Browse the repository at this point in the history
  • Loading branch information
nilo19 committed Sep 30, 2021
1 parent 475b496 commit 8372c0f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
10 changes: 10 additions & 0 deletions staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go
Original file line number Diff line number Diff line change
Expand Up @@ -964,6 +964,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
}

Expand Down Expand Up @@ -1339,6 +1344,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
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2144,7 +2144,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{
Expand All @@ -2158,7 +2158,7 @@ func TestEnsureHostsInPool(t *testing.T) {
backendpoolID: testLBBackendpoolID1,
vmSetName: testVMSSName,
expectedVMSSVMPutTimes: 0,
expectedErr: true,
expectedErr: false,
},
}

Expand Down Expand Up @@ -2204,9 +2204,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",
Expand Down

0 comments on commit 8372c0f

Please sign in to comment.