Skip to content

Commit 8372c0f

Browse files
committed
fix: skip not found nodes when reconciling LB backend address pools
1 parent 475b496 commit 8372c0f

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,11 @@ func (ss *scaleSet) EnsureHostInPool(service *v1.Service, nodeName types.NodeNam
964964
vmName := mapNodeNameToVMName(nodeName)
965965
ssName, instanceID, vm, err := ss.getVmssVM(vmName, azcache.CacheReadTypeDefault)
966966
if err != nil {
967+
if errors.Is(err, cloudprovider.InstanceNotFound) {
968+
klog.Infof("EnsureHostInPool: skipping node %s because it is not found", vmName)
969+
return "", "", "", nil, nil
970+
}
971+
967972
return "", "", "", nil, err
968973
}
969974

@@ -1339,6 +1344,11 @@ func (ss *scaleSet) EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, bac
13391344
func (ss *scaleSet) ensureBackendPoolDeletedFromNode(nodeName, backendPoolID string) (string, string, string, *compute.VirtualMachineScaleSetVM, error) {
13401345
ssName, instanceID, vm, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault)
13411346
if err != nil {
1347+
if errors.Is(err, cloudprovider.InstanceNotFound) {
1348+
klog.Infof("ensureBackendPoolDeletedFromNode: skipping node %s because it is not found", nodeName)
1349+
return "", "", "", nil, nil
1350+
}
1351+
13421352
return "", "", "", nil, err
13431353
}
13441354

staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2144,7 +2144,7 @@ func TestEnsureHostsInPool(t *testing.T) {
21442144
expectedVMSSVMPutTimes: 1,
21452145
},
21462146
{
2147-
description: "EnsureHostsInPool should gather report the error if something goes wrong in EnsureHostInPool",
2147+
description: "EnsureHostsInPool should skip not found nodes",
21482148
nodes: []*v1.Node{
21492149
{
21502150
ObjectMeta: metav1.ObjectMeta{
@@ -2158,7 +2158,7 @@ func TestEnsureHostsInPool(t *testing.T) {
21582158
backendpoolID: testLBBackendpoolID1,
21592159
vmSetName: testVMSSName,
21602160
expectedVMSSVMPutTimes: 0,
2161-
expectedErr: true,
2161+
expectedErr: false,
21622162
},
21632163
}
21642164

@@ -2204,9 +2204,8 @@ func TestEnsureBackendPoolDeletedFromNode(t *testing.T) {
22042204
expectedErr error
22052205
}{
22062206
{
2207-
description: "ensureBackendPoolDeletedFromNode should report the error that occurs during getVmssVM",
2207+
description: "ensureBackendPoolDeletedFromNode should skip not found nodes",
22082208
nodeName: "vmss-vm-000001",
2209-
expectedErr: cloudprovider.InstanceNotFound,
22102209
},
22112210
{
22122211
description: "ensureBackendPoolDeletedFromNode skip the node if the VM's NIC config is nil",

0 commit comments

Comments
 (0)