mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
fix: skip not found nodes when reconciling LB backend address pools
This commit is contained in:
parent
1e21fe694e
commit
0406ba32ea
@ -965,6 +965,11 @@ func (ss *scaleSet) EnsureHostInPool(service *v1.Service, nodeName types.NodeNam
|
|||||||
vmName := mapNodeNameToVMName(nodeName)
|
vmName := mapNodeNameToVMName(nodeName)
|
||||||
ssName, instanceID, vm, err := ss.getVmssVM(vmName, azcache.CacheReadTypeDefault)
|
ssName, instanceID, vm, err := ss.getVmssVM(vmName, azcache.CacheReadTypeDefault)
|
||||||
if err != nil {
|
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
|
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) {
|
func (ss *scaleSet) ensureBackendPoolDeletedFromNode(nodeName, backendPoolID string) (string, string, string, *compute.VirtualMachineScaleSetVM, error) {
|
||||||
ssName, instanceID, vm, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault)
|
ssName, instanceID, vm, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault)
|
||||||
if err != nil {
|
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
|
return "", "", "", nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2145,7 +2145,7 @@ func TestEnsureHostsInPool(t *testing.T) {
|
|||||||
expectedVMSSVMPutTimes: 1,
|
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{
|
nodes: []*v1.Node{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
@ -2159,7 +2159,7 @@ func TestEnsureHostsInPool(t *testing.T) {
|
|||||||
backendpoolID: testLBBackendpoolID1,
|
backendpoolID: testLBBackendpoolID1,
|
||||||
vmSetName: testVMSSName,
|
vmSetName: testVMSSName,
|
||||||
expectedVMSSVMPutTimes: 0,
|
expectedVMSSVMPutTimes: 0,
|
||||||
expectedErr: true,
|
expectedErr: false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2205,9 +2205,8 @@ func TestEnsureBackendPoolDeletedFromNode(t *testing.T) {
|
|||||||
expectedErr error
|
expectedErr error
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
description: "ensureBackendPoolDeletedFromNode should report the error that occurs during getVmssVM",
|
description: "ensureBackendPoolDeletedFromNode should skip not found nodes",
|
||||||
nodeName: "vmss-vm-000001",
|
nodeName: "vmss-vm-000001",
|
||||||
expectedErr: cloudprovider.InstanceNotFound,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "ensureBackendPoolDeletedFromNode skip the node if the VM's NIC config is nil",
|
description: "ensureBackendPoolDeletedFromNode skip the node if the VM's NIC config is nil",
|
||||||
|
Loading…
Reference in New Issue
Block a user