From 437e133b34f20fb0e1a8bad6f83efdcaff40022a Mon Sep 17 00:00:00 2001 From: PingWang Date: Mon, 4 Jul 2016 18:21:19 +0800 Subject: [PATCH] Optimise the process of the CalculateSpreadPriority in selector_spreading.go Signed-off-by: PingWang --- .../algorithm/priorities/selector_spreading.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go index a8c1ce6b71d..66bca63536a 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go +++ b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go @@ -62,6 +62,11 @@ func NewSelectorSpreadPriority(podLister algorithm.PodLister, serviceLister algo // pods which match the same service selectors or RC selectors as the pod being scheduled. // Where zone information is included on the nodes, it favors nodes in zones with fewer existing matching pods. func (s *SelectorSpread) CalculateSpreadPriority(pod *api.Pod, nodeNameToInfo map[string]*schedulercache.NodeInfo, nodeLister algorithm.NodeLister) (schedulerapi.HostPriorityList, error) { + nodes, err := nodeLister.List() + if err != nil { + return nil, err + } + selectors := make([]labels.Selector, 0, 3) if services, err := s.serviceLister.GetPodServices(pod); err == nil { for _, service := range services { @@ -81,11 +86,6 @@ func (s *SelectorSpread) CalculateSpreadPriority(pod *api.Pod, nodeNameToInfo ma } } - nodes, err := nodeLister.List() - if err != nil { - return nil, err - } - // Count similar pods by node countsByNodeName := make(map[string]float32, len(nodes)) countsByZone := make(map[string]float32, 10)