mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 18:31:15 +00:00
Merge pull request #53480 from k82cn/k8s_53425
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Refresh scheduler equivalence cache when node taints changed. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #53425 **Release note**: ```release-note None ```
This commit is contained in:
commit
fe5c628e40
@ -523,15 +523,6 @@ func (c *ConfigFactory) invalidateCachedPredicatesOnNodeUpdate(newNode *v1.Node,
|
||||
// TODO(resouer): think about lazily initialize this set
|
||||
invalidPredicates := sets.NewString()
|
||||
|
||||
oldTaints, oldErr := helper.GetTaintsFromNodeAnnotations(oldNode.GetAnnotations())
|
||||
if oldErr != nil {
|
||||
glog.Errorf("Failed to get taints from old node annotation for equivalence cache")
|
||||
}
|
||||
newTaints, newErr := helper.GetTaintsFromNodeAnnotations(newNode.GetAnnotations())
|
||||
if newErr != nil {
|
||||
glog.Errorf("Failed to get taints from new node annotation for equivalence cache")
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(oldNode.Status.Allocatable, newNode.Status.Allocatable) {
|
||||
invalidPredicates.Insert("GeneralPredicates") // "PodFitsResources"
|
||||
}
|
||||
@ -550,9 +541,20 @@ func (c *ConfigFactory) invalidateCachedPredicatesOnNodeUpdate(newNode *v1.Node,
|
||||
}
|
||||
}
|
||||
}
|
||||
if !reflect.DeepEqual(oldTaints, newTaints) {
|
||||
|
||||
oldTaints, oldErr := helper.GetTaintsFromNodeAnnotations(oldNode.GetAnnotations())
|
||||
if oldErr != nil {
|
||||
glog.Errorf("Failed to get taints from old node annotation for equivalence cache")
|
||||
}
|
||||
newTaints, newErr := helper.GetTaintsFromNodeAnnotations(newNode.GetAnnotations())
|
||||
if newErr != nil {
|
||||
glog.Errorf("Failed to get taints from new node annotation for equivalence cache")
|
||||
}
|
||||
if !reflect.DeepEqual(oldTaints, newTaints) ||
|
||||
!reflect.DeepEqual(oldNode.Spec.Taints, newNode.Spec.Taints) {
|
||||
invalidPredicates.Insert("PodToleratesNodeTaints")
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(oldNode.Status.Conditions, newNode.Status.Conditions) {
|
||||
oldConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
|
||||
newConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
|
||||
|
Loading…
Reference in New Issue
Block a user