Merge pull request #74042 from tedyu/master

Reduce unnecessary Map in node_controller#nodeAddressesChangeDetected
k3s-v1.15.3
Kubernetes Prow Robot 2019-03-25 13:24:24 -07:00 committed by GitHub
commit 68f839662d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 7 deletions

View File

@ -186,11 +186,11 @@ func (cnc *CloudNodeController) updateNodeAddress(node *v1.Node, instances cloud
return
}
}
newNode := node.DeepCopy()
newNode.Status.Addresses = nodeAddresses
if !nodeAddressesChangeDetected(node.Status.Addresses, newNode.Status.Addresses) {
if !nodeAddressesChangeDetected(node.Status.Addresses, nodeAddresses) {
return
}
newNode := node.DeepCopy()
newNode.Status.Addresses = nodeAddresses
_, _, err = nodeutil.PatchNodeStatus(cnc.kubeClient.CoreV1(), types.NodeName(node.Name), node, newNode)
if err != nil {
klog.Errorf("Error patching node with cloud ip addresses = [%v]", err)
@ -382,15 +382,13 @@ func nodeAddressesChangeDetected(addressSet1, addressSet2 []v1.NodeAddress) bool
return true
}
addressMap1 := map[v1.NodeAddressType]string{}
addressMap2 := map[v1.NodeAddressType]string{}
for i := range addressSet1 {
addressMap1[addressSet1[i].Type] = addressSet1[i].Address
addressMap2[addressSet2[i].Type] = addressSet2[i].Address
}
for k, v := range addressMap1 {
if addressMap2[k] != v {
for _, v := range addressSet2 {
if addressMap1[v.Type] != v.Address {
return true
}
}