diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure.go index 461ef3171cc..928532ceb4c 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure.go @@ -41,7 +41,6 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" cloudprovider "k8s.io/cloud-provider" - cloudproviderapi "k8s.io/cloud-provider/api" "k8s.io/klog/v2" "k8s.io/legacy-cloud-providers/azure/auth" azcache "k8s.io/legacy-cloud-providers/azure/cache" @@ -858,14 +857,6 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) { case hasExcludeBalancerLabel: az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name) - case !isNodeReady(newNode) && getCloudTaint(newNode.Spec.Taints) == nil: - // If not in ready state and not a newly created node, add to excludeLoadBalancerNodes cache. - // New nodes (tainted with "node.cloudprovider.kubernetes.io/uninitialized") should not be - // excluded from load balancers regardless of their state, so as to reduce the number of - // VMSS API calls and not provoke VMScaleSetActiveModelsCountLimitReached. - // (https://github.com/kubernetes-sigs/cloud-provider-azure/issues/851) - az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name) - default: // Nodes not falling into the three cases above are valid backends and // should not appear in excludeLoadBalancerNodes cache. @@ -995,21 +986,3 @@ func (az *Cloud) ShouldNodeExcludedFromLoadBalancer(nodeName string) (bool, erro return az.excludeLoadBalancerNodes.Has(nodeName), nil } - -func isNodeReady(node *v1.Node) bool { - for _, cond := range node.Status.Conditions { - if cond.Type == v1.NodeReady && cond.Status == v1.ConditionTrue { - return true - } - } - return false -} - -func getCloudTaint(taints []v1.Taint) *v1.Taint { - for _, taint := range taints { - if taint.Key == cloudproviderapi.TaintExternalCloudProvider { - return &taint - } - } - return nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_test.go index 1d651f34ca5..4b3ff47d4e3 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_test.go @@ -3313,7 +3313,7 @@ func TestUpdateNodeCacheExcludeLoadBalancer(t *testing.T) { az.updateNodeCaches(&prevNode, &newNode) assert.Equal(t, 1, len(az.excludeLoadBalancerNodes)) - // a non-ready node should be excluded + // a non-ready node should be included az.unmanagedNodes = sets.NewString() az.excludeLoadBalancerNodes = sets.NewString() az.nodeNames = sets.NewString() @@ -3334,9 +3334,9 @@ func TestUpdateNodeCacheExcludeLoadBalancer(t *testing.T) { }, } az.updateNodeCaches(nil, &nonReadyNode) - assert.Equal(t, 1, len(az.excludeLoadBalancerNodes)) + assert.Equal(t, 0, len(az.excludeLoadBalancerNodes)) - // node becomes ready, it should be removed from az.excludeLoadBalancerNodes + // node becomes ready => no impact on az.excludeLoadBalancerNodes readyNode := v1.Node{ ObjectMeta: metav1.ObjectMeta{ Labels: map[string]string{