mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Speedup pod affintiy predicate function
This commit is contained in:
		@@ -237,7 +237,7 @@ func TestPodFitsResources(t *testing.T) {
 | 
			
		||||
		node := api.Node{Status: api.NodeStatus{Capacity: makeResources(10, 20, 0, 32).Capacity, Allocatable: makeAllocatableResources(10, 20, 0, 32)}}
 | 
			
		||||
		test.nodeInfo.SetNode(&node)
 | 
			
		||||
 | 
			
		||||
		fits, err := PodFitsResources(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		fits, err := PodFitsResources(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, test.wErr) {
 | 
			
		||||
			t.Errorf("%s: unexpected error: %v, want: %v", test.test, err, test.wErr)
 | 
			
		||||
		}
 | 
			
		||||
@@ -290,7 +290,7 @@ func TestPodFitsResources(t *testing.T) {
 | 
			
		||||
		node := api.Node{Status: api.NodeStatus{Capacity: api.ResourceList{}, Allocatable: makeAllocatableResources(10, 20, 0, 1)}}
 | 
			
		||||
		test.nodeInfo.SetNode(&node)
 | 
			
		||||
 | 
			
		||||
		fits, err := PodFitsResources(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		fits, err := PodFitsResources(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, test.wErr) {
 | 
			
		||||
			t.Errorf("%s: unexpected error: %v, want: %v", test.test, err, test.wErr)
 | 
			
		||||
		}
 | 
			
		||||
@@ -346,7 +346,7 @@ func TestPodFitsHost(t *testing.T) {
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		nodeInfo := schedulercache.NewNodeInfo()
 | 
			
		||||
		nodeInfo.SetNode(test.node)
 | 
			
		||||
		result, err := PodFitsHost(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		result, err := PodFitsHost(test.pod, PredicateMetadata(test.pod, nil), nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrPodNotMatchHostName) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -419,7 +419,7 @@ func TestPodFitsHostPorts(t *testing.T) {
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		fits, err := PodFitsHostPorts(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		fits, err := PodFitsHostPorts(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrPodNotFitsHostPorts) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -504,7 +504,7 @@ func TestDiskConflicts(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrDiskConflict) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -556,7 +556,7 @@ func TestAWSDiskConflicts(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrDiskConflict) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -614,7 +614,7 @@ func TestRBDDiskConflicts(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		ok, err := NoDiskConflict(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrDiskConflict) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1093,7 +1093,7 @@ func TestPodFitsSelector(t *testing.T) {
 | 
			
		||||
		nodeInfo := schedulercache.NewNodeInfo()
 | 
			
		||||
		nodeInfo.SetNode(&node)
 | 
			
		||||
 | 
			
		||||
		fits, err := PodSelectorMatches(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		fits, err := PodSelectorMatches(test.pod, PredicateMetadata(test.pod, nil), nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrNodeSelectorNotMatch) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1158,7 +1158,7 @@ func TestNodeLabelPresence(t *testing.T) {
 | 
			
		||||
		nodeInfo.SetNode(&node)
 | 
			
		||||
 | 
			
		||||
		labelChecker := NodeLabelChecker{test.labels, test.presence}
 | 
			
		||||
		fits, err := labelChecker.CheckNodeLabelPresence(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		fits, err := labelChecker.CheckNodeLabelPresence(test.pod, PredicateMetadata(test.pod, nil), nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrNodeLabelPresenceViolated) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1303,7 +1303,7 @@ func TestServiceAffinity(t *testing.T) {
 | 
			
		||||
		serviceAffinity := ServiceAffinity{algorithm.FakePodLister(test.pods), algorithm.FakeServiceLister(test.services), FakeNodeListInfo(nodes), test.labels}
 | 
			
		||||
		nodeInfo := schedulercache.NewNodeInfo()
 | 
			
		||||
		nodeInfo.SetNode(test.node)
 | 
			
		||||
		fits, err := serviceAffinity.CheckServiceAffinity(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		fits, err := serviceAffinity.CheckServiceAffinity(test.pod, PredicateMetadata(test.pod, nil), nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrServiceAffinityViolated) && err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1584,7 +1584,7 @@ func TestEBSVolumeCountConflicts(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		pred := NewMaxPDVolumeCountPredicate(filter, test.maxVols, pvInfo, pvcInfo)
 | 
			
		||||
		fits, err := pred(test.newPod, PredicateMetadata(test.newPod), schedulercache.NewNodeInfo(test.existingPods...))
 | 
			
		||||
		fits, err := pred(test.newPod, PredicateMetadata(test.newPod, nil), schedulercache.NewNodeInfo(test.existingPods...))
 | 
			
		||||
		if err != nil && !reflect.DeepEqual(err, ErrMaxVolumeCountExceeded) {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1778,7 +1778,7 @@ func TestRunGeneralPredicates(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
	for _, test := range resourceTests {
 | 
			
		||||
		test.nodeInfo.SetNode(test.node)
 | 
			
		||||
		fits, err := GeneralPredicates(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		fits, err := GeneralPredicates(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, test.wErr) {
 | 
			
		||||
			t.Errorf("%s: unexpected error: %v, want: %v", test.test, err, test.wErr)
 | 
			
		||||
		}
 | 
			
		||||
@@ -2326,7 +2326,8 @@ func TestInterPodAffinity(t *testing.T) {
 | 
			
		||||
		}
 | 
			
		||||
		nodeInfo := schedulercache.NewNodeInfo(podsOnNode...)
 | 
			
		||||
		nodeInfo.SetNode(test.node)
 | 
			
		||||
		fits, err := fit.InterPodAffinityMatches(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		nodeInfoMap := map[string]*schedulercache.NodeInfo{test.node.Name: nodeInfo}
 | 
			
		||||
		fits, err := fit.InterPodAffinityMatches(test.pod, PredicateMetadata(test.pod, nodeInfoMap), nodeInfo)
 | 
			
		||||
		if !reflect.DeepEqual(err, ErrPodAffinityNotMatch) && err != nil {
 | 
			
		||||
			t.Errorf("%s: unexpected error %v", test.test, err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -2492,7 +2493,8 @@ func TestInterPodAffinityWithMultipleNodes(t *testing.T) {
 | 
			
		||||
			}
 | 
			
		||||
			nodeInfo := schedulercache.NewNodeInfo(podsOnNode...)
 | 
			
		||||
			nodeInfo.SetNode(&node)
 | 
			
		||||
			fits, err := testFit.InterPodAffinityMatches(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
			nodeInfoMap := map[string]*schedulercache.NodeInfo{node.Name: nodeInfo}
 | 
			
		||||
			fits, err := testFit.InterPodAffinityMatches(test.pod, PredicateMetadata(test.pod, nodeInfoMap), nodeInfo)
 | 
			
		||||
			if !reflect.DeepEqual(err, ErrPodAffinityNotMatch) && err != nil {
 | 
			
		||||
				t.Errorf("%s: unexpected error %v", test.test, err)
 | 
			
		||||
			}
 | 
			
		||||
@@ -2503,7 +2505,8 @@ func TestInterPodAffinityWithMultipleNodes(t *testing.T) {
 | 
			
		||||
			if affinity != nil && affinity.NodeAffinity != nil {
 | 
			
		||||
				nodeInfo := schedulercache.NewNodeInfo()
 | 
			
		||||
				nodeInfo.SetNode(&node)
 | 
			
		||||
				fits2, err := PodSelectorMatches(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
				nodeInfoMap := map[string]*schedulercache.NodeInfo{node.Name: nodeInfo}
 | 
			
		||||
				fits2, err := PodSelectorMatches(test.pod, PredicateMetadata(test.pod, nodeInfoMap), nodeInfo)
 | 
			
		||||
				if !reflect.DeepEqual(err, ErrNodeSelectorNotMatch) && err != nil {
 | 
			
		||||
					t.Errorf("unexpected error: %v", err)
 | 
			
		||||
				}
 | 
			
		||||
@@ -2789,7 +2792,7 @@ func TestPodToleratesTaints(t *testing.T) {
 | 
			
		||||
	for _, test := range podTolerateTaintsTests {
 | 
			
		||||
		nodeInfo := schedulercache.NewNodeInfo()
 | 
			
		||||
		nodeInfo.SetNode(&test.node)
 | 
			
		||||
		fits, err := PodToleratesNodeTaints(test.pod, PredicateMetadata(test.pod), nodeInfo)
 | 
			
		||||
		fits, err := PodToleratesNodeTaints(test.pod, PredicateMetadata(test.pod, nil), nodeInfo)
 | 
			
		||||
		if fits == false && !reflect.DeepEqual(err, ErrTaintsTolerationsNotMatch) {
 | 
			
		||||
			t.Errorf("%s, unexpected error: %v", test.test, err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -2895,7 +2898,7 @@ func TestPodSchedulesOnNodeWithMemoryPressureCondition(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		fits, err := CheckNodeMemoryPressurePredicate(test.pod, PredicateMetadata(test.pod), test.nodeInfo)
 | 
			
		||||
		fits, err := CheckNodeMemoryPressurePredicate(test.pod, PredicateMetadata(test.pod, nil), test.nodeInfo)
 | 
			
		||||
		if fits != test.fits {
 | 
			
		||||
			t.Errorf("%s: expected %v got %v", test.name, test.fits, fits)
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user