mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #85345 from andrewsykim/improve-node-event-handler-logic
proxier: improve node topology event handler logic
This commit is contained in:
commit
ef6d304bed
@ -600,14 +600,16 @@ func (proxier *Proxier) OnNodeAdd(node *v1.Node) {
|
|||||||
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
oldLabels := proxier.nodeLabels
|
|
||||||
newLabels := node.Labels
|
if reflect.DeepEqual(proxier.nodeLabels, node.Labels) {
|
||||||
proxier.mu.Lock()
|
return
|
||||||
proxier.nodeLabels = newLabels
|
|
||||||
proxier.mu.Unlock()
|
|
||||||
if !reflect.DeepEqual(oldLabels, newLabels) {
|
|
||||||
proxier.syncProxyRules()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proxier.mu.Lock()
|
||||||
|
proxier.nodeLabels = node.Labels
|
||||||
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnNodeUpdate is called whenever modification of an existing
|
// OnNodeUpdate is called whenever modification of an existing
|
||||||
@ -617,14 +619,16 @@ func (proxier *Proxier) OnNodeUpdate(oldNode, node *v1.Node) {
|
|||||||
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
oldLabels := proxier.nodeLabels
|
|
||||||
newLabels := node.Labels
|
if reflect.DeepEqual(proxier.nodeLabels, node.Labels) {
|
||||||
proxier.mu.Lock()
|
return
|
||||||
proxier.nodeLabels = newLabels
|
|
||||||
proxier.mu.Unlock()
|
|
||||||
if !reflect.DeepEqual(oldLabels, newLabels) {
|
|
||||||
proxier.syncProxyRules()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proxier.mu.Lock()
|
||||||
|
proxier.nodeLabels = node.Labels
|
||||||
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnNodeDelete is called whever deletion of an existing node
|
// OnNodeDelete is called whever deletion of an existing node
|
||||||
@ -637,6 +641,7 @@ func (proxier *Proxier) OnNodeDelete(node *v1.Node) {
|
|||||||
proxier.mu.Lock()
|
proxier.mu.Lock()
|
||||||
proxier.nodeLabels = nil
|
proxier.nodeLabels = nil
|
||||||
proxier.mu.Unlock()
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
proxier.syncProxyRules()
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -906,14 +906,16 @@ func (proxier *Proxier) OnNodeAdd(node *v1.Node) {
|
|||||||
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
oldLabels := proxier.nodeLabels
|
|
||||||
newLabels := node.Labels
|
if reflect.DeepEqual(proxier.nodeLabels, node.Labels) {
|
||||||
proxier.mu.Lock()
|
return
|
||||||
proxier.nodeLabels = newLabels
|
|
||||||
proxier.mu.Unlock()
|
|
||||||
if !reflect.DeepEqual(oldLabels, newLabels) {
|
|
||||||
proxier.syncProxyRules()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proxier.mu.Lock()
|
||||||
|
proxier.nodeLabels = node.Labels
|
||||||
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnNodeUpdate is called whenever modification of an existing
|
// OnNodeUpdate is called whenever modification of an existing
|
||||||
@ -923,14 +925,16 @@ func (proxier *Proxier) OnNodeUpdate(oldNode, node *v1.Node) {
|
|||||||
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
klog.Errorf("Received a watch event for a node %s that doesn't match the current node %v", node.Name, proxier.hostname)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
oldLabels := proxier.nodeLabels
|
|
||||||
newLabels := node.Labels
|
if reflect.DeepEqual(proxier.nodeLabels, node.Labels) {
|
||||||
proxier.mu.Lock()
|
return
|
||||||
proxier.nodeLabels = newLabels
|
|
||||||
proxier.mu.Unlock()
|
|
||||||
if !reflect.DeepEqual(oldLabels, newLabels) {
|
|
||||||
proxier.syncProxyRules()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proxier.mu.Lock()
|
||||||
|
proxier.nodeLabels = node.Labels
|
||||||
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnNodeDelete is called whever deletion of an existing node
|
// OnNodeDelete is called whever deletion of an existing node
|
||||||
@ -943,6 +947,7 @@ func (proxier *Proxier) OnNodeDelete(node *v1.Node) {
|
|||||||
proxier.mu.Lock()
|
proxier.mu.Lock()
|
||||||
proxier.nodeLabels = nil
|
proxier.nodeLabels = nil
|
||||||
proxier.mu.Unlock()
|
proxier.mu.Unlock()
|
||||||
|
|
||||||
proxier.syncProxyRules()
|
proxier.syncProxyRules()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user