Reduce unnecessary Map in node_controller#nodeAddressesChangeDetected

This commit is contained in:
Ted Yu 2019-02-13 16:16:13 -08:00 committed by Ted Yu
parent 508a4f7544
commit a346460c08

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 addressMap2[v.Type] != v.Address {
return true
}
}