From 950ab8f21986de9a89a297dbce2e588e36453f50 Mon Sep 17 00:00:00 2001 From: David Oppenheimer Date: Wed, 1 Jul 2015 13:35:24 -0700 Subject: [PATCH] Clarify and make less verbose event message for infeasible pods. --- plugin/pkg/scheduler/generic_scheduler.go | 9 ++++++--- plugin/pkg/scheduler/scheduler.go | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugin/pkg/scheduler/generic_scheduler.go b/plugin/pkg/scheduler/generic_scheduler.go index 6de52d7c6a6..c9f5453d18e 100644 --- a/plugin/pkg/scheduler/generic_scheduler.go +++ b/plugin/pkg/scheduler/generic_scheduler.go @@ -41,12 +41,15 @@ var ErrNoNodesAvailable = fmt.Errorf("no nodes available to schedule pods") // implementation of the error interface func (f *FitError) Error() string { - predicates := util.NewStringSet() + var reason string + // We iterate over all nodes for logging purposes, even though we only return one reason from one node for node, predicateList := range f.FailedPredicates { - predicates = predicates.Union(predicateList) glog.Infof("failed to find fit for pod %v on node %s: %s", f.Pod.Name, node, strings.Join(predicateList.List(), ",")) + if len(reason) == 0 { + reason, _ = predicateList.PopAny() + } } - return fmt.Sprintf("For each of these fitness predicates, pod %v failed on at least one node: %v.", f.Pod.Name, strings.Join(predicates.List(), ",")) + return fmt.Sprintf("Failed for reason %s and possibly others", reason) } type genericScheduler struct { diff --git a/plugin/pkg/scheduler/scheduler.go b/plugin/pkg/scheduler/scheduler.go index ac56c2461fb..dd25412d417 100644 --- a/plugin/pkg/scheduler/scheduler.go +++ b/plugin/pkg/scheduler/scheduler.go @@ -125,7 +125,7 @@ func (s *Scheduler) scheduleOne() { metrics.SchedulingAlgorithmLatency.Observe(metrics.SinceInMicroseconds(start)) if err != nil { glog.V(1).Infof("Failed to schedule: %v", pod) - s.config.Recorder.Eventf(pod, "failedScheduling", "Error scheduling: %v", err) + s.config.Recorder.Eventf(pod, "failedScheduling", "%v", err) s.config.Error(pod, err) return }