From 2bd2cb135b3a94fa70b41ef85b21be5df8708282 Mon Sep 17 00:00:00 2001 From: suigh Date: Thu, 19 Aug 2021 18:30:18 +0800 Subject: [PATCH] update the sort logic Signed-off-by: suigh --- pkg/controllers/scheduling/schedule.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/controllers/scheduling/schedule.go b/pkg/controllers/scheduling/schedule.go index f54d99820..451476344 100644 --- a/pkg/controllers/scheduling/schedule.go +++ b/pkg/controllers/scheduling/schedule.go @@ -135,7 +135,6 @@ func (s *pluginScheduler) Schedule( } // score clusters - // Score the cluster scoreSum := PrioritizeSore{} for _, cluster := range filtered { scoreSum[cluster.Name] = 0 @@ -158,9 +157,13 @@ func (s *pluginScheduler) Schedule( } } - // Sort cluster by score + // Sort cluster by score, if score is equal, sort by name sort.SliceStable(filtered, func(i, j int) bool { - return scoreSum[clusters[i].Name] > scoreSum[clusters[j].Name] + if scoreSum[filtered[i].Name] == scoreSum[filtered[j].Name] { + return filtered[i].Name < filtered[j].Name + } else { + return scoreSum[filtered[i].Name] > scoreSum[filtered[j].Name] + } }) results.feasibleClusters = filtered