mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 13:50:01 +00:00 
			
		
		
		
	Merge pull request #55172 from hongshibao/master
Automatic merge from submit-queue (batch tested with PRs 54493, 52501, 55172, 54780, 54819). 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>. Fix divide by zero issue in calculating spread priority for zones ```release-note NONE ```
This commit is contained in:
		| @@ -171,7 +171,10 @@ func (s *SelectorSpread) CalculateSpreadPriority(pod *v1.Pod, nodeNameToInfo map | ||||
| 		if haveZones { | ||||
| 			zoneId := utilnode.GetZoneKey(node) | ||||
| 			if zoneId != "" { | ||||
| 				zoneScore := float64(schedulerapi.MaxPriority) * ((maxCountByZone - countsByZone[zoneId]) / maxCountByZone) | ||||
| 				zoneScore := float64(schedulerapi.MaxPriority) | ||||
| 				if maxCountByZone > 0 { | ||||
| 					zoneScore = float64(schedulerapi.MaxPriority) * ((maxCountByZone - countsByZone[zoneId]) / maxCountByZone) | ||||
| 				} | ||||
| 				fScore = (fScore * (1.0 - zoneWeighting)) + (zoneWeighting * zoneScore) | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
| @@ -445,6 +445,23 @@ func TestZoneSelectorSpreadPriority(t *testing.T) { | ||||
| 			}, | ||||
| 			test: "different services", | ||||
| 		}, | ||||
| 		{ | ||||
| 			pod: buildPod("", labels1, nil), | ||||
| 			pods: []*v1.Pod{ | ||||
| 				buildPod(nodeMachine1Zone1, labels2, nil), | ||||
| 				buildPod(nodeMachine1Zone2, labels2, nil), | ||||
| 			}, | ||||
| 			services: []*v1.Service{{Spec: v1.ServiceSpec{Selector: labels1}}}, | ||||
| 			expectedList: []schedulerapi.HostPriority{ | ||||
| 				{Host: nodeMachine1Zone1, Score: schedulerapi.MaxPriority}, | ||||
| 				{Host: nodeMachine1Zone2, Score: schedulerapi.MaxPriority}, | ||||
| 				{Host: nodeMachine2Zone2, Score: schedulerapi.MaxPriority}, | ||||
| 				{Host: nodeMachine1Zone3, Score: schedulerapi.MaxPriority}, | ||||
| 				{Host: nodeMachine2Zone3, Score: schedulerapi.MaxPriority}, | ||||
| 				{Host: nodeMachine3Zone3, Score: schedulerapi.MaxPriority}, | ||||
| 			}, | ||||
| 			test: "two pods, 0 matching", | ||||
| 		}, | ||||
| 		{ | ||||
| 			pod: buildPod("", labels1, nil), | ||||
| 			pods: []*v1.Pod{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user