@@ -37,7 +37,7 @@ import (
37
37
// PredicateMetadata interface represents anything that can access a predicate metadata.
38
38
type PredicateMetadata interface {
39
39
ShallowCopy () PredicateMetadata
40
- AddPod (addedPod * v1.Pod , nodeInfo * schedulernodeinfo. NodeInfo ) error
40
+ AddPod (addedPod * v1.Pod , node * v1. Node ) error
41
41
RemovePod (deletedPod * v1.Pod , node * v1.Node ) error
42
42
}
43
43
@@ -350,8 +350,10 @@ func NodeLabelsMatchSpreadConstraints(nodeLabels map[string]string, constraints
350
350
351
351
// returns a pointer to a new topologyPairsMaps
352
352
func newTopologyPairsMaps () * topologyPairsMaps {
353
- return & topologyPairsMaps {topologyPairToPods : make (map [topologyPair ]podSet ),
354
- podToTopologyPairs : make (map [string ]topologyPairSet )}
353
+ return & topologyPairsMaps {
354
+ topologyPairToPods : make (map [topologyPair ]podSet ),
355
+ podToTopologyPairs : make (map [string ]topologyPairSet ),
356
+ }
355
357
}
356
358
357
359
func (m * topologyPairsMaps ) addTopologyPair (pair topologyPair , pod * v1.Pod ) {
@@ -480,18 +482,18 @@ func (meta *predicateMetadata) RemovePod(deletedPod *v1.Pod, node *v1.Node) erro
480
482
return nil
481
483
}
482
484
483
- // AddPod changes predicateMetadata assuming that `newPod ` is added to the
485
+ // AddPod changes predicateMetadata assuming that the given `addedPod ` is added to the
484
486
// system.
485
- func (meta * predicateMetadata ) AddPod (addedPod * v1.Pod , nodeInfo * schedulernodeinfo. NodeInfo ) error {
487
+ func (meta * predicateMetadata ) AddPod (addedPod * v1.Pod , node * v1. Node ) error {
486
488
addedPodFullName := schedutil .GetPodFullName (addedPod )
487
489
if addedPodFullName == schedutil .GetPodFullName (meta .pod ) {
488
490
return fmt .Errorf ("addedPod and meta.pod must not be the same" )
489
491
}
490
- if nodeInfo . Node () == nil {
491
- return fmt .Errorf ("invalid node in nodeInfo " )
492
+ if node == nil {
493
+ return fmt .Errorf ("node not found " )
492
494
}
493
495
// Add matching anti-affinity terms of the addedPod to the map.
494
- topologyPairsMaps , err := getMatchingAntiAffinityTopologyPairsOfPod (meta .pod , addedPod , nodeInfo . Node () )
496
+ topologyPairsMaps , err := getMatchingAntiAffinityTopologyPairsOfPod (meta .pod , addedPod , node )
495
497
if err != nil {
496
498
return err
497
499
}
@@ -500,14 +502,13 @@ func (meta *predicateMetadata) AddPod(addedPod *v1.Pod, nodeInfo *schedulernodei
500
502
affinity := meta .pod .Spec .Affinity
501
503
podNodeName := addedPod .Spec .NodeName
502
504
if affinity != nil && len (podNodeName ) > 0 {
503
- podNode := nodeInfo .Node ()
504
505
// It is assumed that when the added pod matches affinity of the meta.pod, all the terms must match,
505
506
// this should be changed when the implementation of targetPodMatchesAffinityOfPod/podMatchesAffinityTermProperties
506
507
// is changed
507
508
if targetPodMatchesAffinityOfPod (meta .pod , addedPod ) {
508
509
affinityTerms := GetPodAffinityTerms (affinity .PodAffinity )
509
510
for _ , term := range affinityTerms {
510
- if topologyValue , ok := podNode .Labels [term .TopologyKey ]; ok {
511
+ if topologyValue , ok := node .Labels [term .TopologyKey ]; ok {
511
512
pair := topologyPair {key : term .TopologyKey , value : topologyValue }
512
513
meta .topologyPairsPotentialAffinityPods .addTopologyPair (pair , addedPod )
513
514
}
@@ -516,7 +517,7 @@ func (meta *predicateMetadata) AddPod(addedPod *v1.Pod, nodeInfo *schedulernodei
516
517
if targetPodMatchesAntiAffinityOfPod (meta .pod , addedPod ) {
517
518
antiAffinityTerms := GetPodAntiAffinityTerms (affinity .PodAntiAffinity )
518
519
for _ , term := range antiAffinityTerms {
519
- if topologyValue , ok := podNode .Labels [term .TopologyKey ]; ok {
520
+ if topologyValue , ok := node .Labels [term .TopologyKey ]; ok {
520
521
pair := topologyPair {key : term .TopologyKey , value : topologyValue }
521
522
meta .topologyPairsPotentialAntiAffinityPods .addTopologyPair (pair , addedPod )
522
523
}
@@ -525,7 +526,7 @@ func (meta *predicateMetadata) AddPod(addedPod *v1.Pod, nodeInfo *schedulernodei
525
526
}
526
527
// Update meta.podSpreadCache if meta.pod has hard spread constraints
527
528
// and addedPod matches that
528
- if err := meta .podSpreadCache .addPod (addedPod , meta .pod , nodeInfo . Node () ); err != nil {
529
+ if err := meta .podSpreadCache .addPod (addedPod , meta .pod , node ); err != nil {
529
530
return err
530
531
}
531
532
0 commit comments