Merge pull request #71926 from wgliang/feature/modify-scheduler-result-and-add-log

[scheduler] Modify the scheduling result struct and improve logging f…
This commit is contained in:
Kubernetes Prow Robot
2019-01-03 14:37:50 -08:00
committed by GitHub
5 changed files with 115 additions and 67 deletions

View File

@@ -142,12 +142,12 @@ func PriorityOne(pod *v1.Pod, nodeNameToInfo map[string]*schedulernodeinfo.NodeI
}
type mockScheduler struct {
machine string
err error
result core.ScheduleResult
err error
}
func (es mockScheduler) Schedule(pod *v1.Pod, ml algorithm.NodeLister) (string, error) {
return es.machine, es.err
func (es mockScheduler) Schedule(pod *v1.Pod, ml algorithm.NodeLister) (core.ScheduleResult, error) {
return es.result, es.err
}
func (es mockScheduler) Predicates() map[string]predicates.FitPredicate {
@@ -219,7 +219,7 @@ func TestScheduler(t *testing.T) {
{
name: "bind assumed pod scheduled",
sendPod: podWithID("foo", ""),
algo: mockScheduler{testNode.Name, nil},
algo: mockScheduler{core.ScheduleResult{SuggestedHost: testNode.Name, EvaluatedNodes: 1, FeasibleNodes: 1}, nil},
expectBind: &v1.Binding{ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: types.UID("foo")}, Target: v1.ObjectReference{Kind: "Node", Name: testNode.Name}},
expectAssumedPod: podWithID("foo", testNode.Name),
eventReason: "Scheduled",
@@ -227,7 +227,7 @@ func TestScheduler(t *testing.T) {
{
name: "error pod failed scheduling",
sendPod: podWithID("foo", ""),
algo: mockScheduler{testNode.Name, errS},
algo: mockScheduler{core.ScheduleResult{SuggestedHost: testNode.Name, EvaluatedNodes: 1, FeasibleNodes: 1}, errS},
expectError: errS,
expectErrorPod: podWithID("foo", ""),
eventReason: "FailedScheduling",
@@ -235,7 +235,7 @@ func TestScheduler(t *testing.T) {
{
name: "error bind forget pod failed scheduling",
sendPod: podWithID("foo", ""),
algo: mockScheduler{testNode.Name, nil},
algo: mockScheduler{core.ScheduleResult{SuggestedHost: testNode.Name, EvaluatedNodes: 1, FeasibleNodes: 1}, nil},
expectBind: &v1.Binding{ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: types.UID("foo")}, Target: v1.ObjectReference{Kind: "Node", Name: testNode.Name}},
expectAssumedPod: podWithID("foo", testNode.Name),
injectBindError: errB,
@@ -245,7 +245,7 @@ func TestScheduler(t *testing.T) {
eventReason: "FailedScheduling",
}, {
sendPod: deletingPod("foo"),
algo: mockScheduler{"", nil},
algo: mockScheduler{core.ScheduleResult{}, nil},
eventReason: "FailedScheduling",
},
}