mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +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:
		@@ -523,15 +523,6 @@ func (c *ConfigFactory) invalidateCachedPredicatesOnNodeUpdate(newNode *v1.Node,
 | 
				
			|||||||
		// TODO(resouer): think about lazily initialize this set
 | 
							// TODO(resouer): think about lazily initialize this set
 | 
				
			||||||
		invalidPredicates := sets.NewString()
 | 
							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) {
 | 
							if !reflect.DeepEqual(oldNode.Status.Allocatable, newNode.Status.Allocatable) {
 | 
				
			||||||
			invalidPredicates.Insert("GeneralPredicates") // "PodFitsResources"
 | 
								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")
 | 
								invalidPredicates.Insert("PodToleratesNodeTaints")
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if !reflect.DeepEqual(oldNode.Status.Conditions, newNode.Status.Conditions) {
 | 
							if !reflect.DeepEqual(oldNode.Status.Conditions, newNode.Status.Conditions) {
 | 
				
			||||||
			oldConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
 | 
								oldConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
 | 
				
			||||||
			newConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
 | 
								newConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user