mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 03:03:59 +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:
commit
17f7183e74
@ -171,7 +171,10 @@ func (s *SelectorSpread) CalculateSpreadPriority(pod *v1.Pod, nodeNameToInfo map
|
|||||||
if haveZones {
|
if haveZones {
|
||||||
zoneId := utilnode.GetZoneKey(node)
|
zoneId := utilnode.GetZoneKey(node)
|
||||||
if zoneId != "" {
|
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)
|
fScore = (fScore * (1.0 - zoneWeighting)) + (zoneWeighting * zoneScore)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -445,6 +445,23 @@ func TestZoneSelectorSpreadPriority(t *testing.T) {
|
|||||||
},
|
},
|
||||||
test: "different services",
|
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),
|
pod: buildPod("", labels1, nil),
|
||||||
pods: []*v1.Pod{
|
pods: []*v1.Pod{
|
||||||
|
Loading…
Reference in New Issue
Block a user