Merge pull request #38597 from hongchaodeng/sr2

Automatic merge from submit-queue

generic_scheduler: Schedule() pod param should never be nil

This code doesn't make sense.
Schedule() pod param should never be nil.
pull/6/head
Kubernetes Submit Queue 2016-12-12 01:15:50 -08:00 committed by GitHub
commit ec72d95a3e
3 changed files with 6 additions and 12 deletions

View File

@ -164,8 +164,6 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
extenderPredicates []fitPredicate
extenderPrioritizers []priorityConfig
nodes []string
pod *v1.Pod
pods []*v1.Pod
expectedHost string
expectsErr bool
}{
@ -284,15 +282,13 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
extenders = append(extenders, &test.extenders[ii])
}
cache := schedulercache.New(time.Duration(0), wait.NeverStop)
for _, pod := range test.pods {
cache.AddPod(pod)
}
for _, name := range test.nodes {
cache.AddNode(&v1.Node{ObjectMeta: v1.ObjectMeta{Name: name}})
}
scheduler := NewGenericScheduler(
cache, test.predicates, algorithm.EmptyMetadataProducer, test.prioritizers, algorithm.EmptyMetadataProducer, extenders)
machine, err := scheduler.Schedule(test.pod, algorithm.FakeNodeLister(makeNodeList(test.nodes)))
podIgnored := &v1.Pod{}
machine, err := scheduler.Schedule(podIgnored, algorithm.FakeNodeLister(makeNodeList(test.nodes)))
if test.expectsErr {
if err == nil {
t.Errorf("Unexpected non-error for %s, machine %s", test.name, machine)
@ -300,6 +296,7 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
} else {
if err != nil {
t.Errorf("Unexpected error: %v", err)
continue
}
if test.expectedHost != machine {
t.Errorf("Failed : %s, Expected: %s, Saw: %s", test.name, test.expectedHost, machine)

View File

@ -90,12 +90,7 @@ type genericScheduler struct {
// If it succeeds, it will return the name of the node.
// If it fails, it will return a Fiterror error with reasons.
func (g *genericScheduler) Schedule(pod *v1.Pod, nodeLister algorithm.NodeLister) (string, error) {
var trace *util.Trace
if pod != nil {
trace = util.NewTrace(fmt.Sprintf("Scheduling %s/%s", pod.Namespace, pod.Name))
} else {
trace = util.NewTrace("Scheduling <nil> pod")
}
trace := util.NewTrace(fmt.Sprintf("Scheduling %s/%s", pod.Namespace, pod.Name))
defer trace.LogIfLong(100 * time.Millisecond)
nodes, err := nodeLister.List()

View File

@ -205,6 +205,7 @@ func TestGenericScheduler(t *testing.T) {
predicates: map[string]algorithm.FitPredicate{"true": truePredicate},
prioritizers: []algorithm.PriorityConfig{{Map: EqualPriorityMap, Weight: 1}},
nodes: []string{"machine1", "machine2"},
pod: &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "ignore"}},
expectedHosts: sets.NewString("machine1", "machine2"),
name: "test 2",
wErr: nil,
@ -223,6 +224,7 @@ func TestGenericScheduler(t *testing.T) {
predicates: map[string]algorithm.FitPredicate{"true": truePredicate},
prioritizers: []algorithm.PriorityConfig{{Function: numericPriority, Weight: 1}},
nodes: []string{"3", "2", "1"},
pod: &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "ignore"}},
expectedHosts: sets.NewString("3"),
name: "test 4",
wErr: nil,