Skip to content

Commit

Permalink
Merge pull request #816 from feiskyer/skip-not-found-instances
Browse files Browse the repository at this point in the history
fix: skip not found nodes when reconciling LB backend address pools
  • Loading branch information
nilo19 committed Sep 26, 2021
2 parents e9c132d + d5e3a8d commit f871993
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
10 changes: 10 additions & 0 deletions pkg/provider/azure_vmss.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

klog.Errorf("EnsureHostInPool: failed to get VMSS VM %s: %v", vmName, err)
return "", "", "", nil, err
}
Expand Down Expand Up @@ -1345,6 +1350,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
7 changes: 3 additions & 4 deletions pkg/provider/azure_vmss_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2134,7 +2134,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 @@ -2148,7 +2148,7 @@ func TestEnsureHostsInPool(t *testing.T) {
backendpoolID: testLBBackendpoolID1,
vmSetName: testVMSSName,
expectedVMSSVMPutTimes: 0,
expectedErr: true,
expectedErr: false,
},
}

Expand Down Expand Up @@ -2194,9 +2194,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 f871993

Please sign in to comment.