Merge pull request #84785 from ahg-g/ahg-predicatemeta

expose PredicateMetadataProducer in generic scheduler
This commit is contained in:
Kubernetes Prow Robot 2019-11-05 06:28:54 -08:00 committed by GitHub
commit de56c90540
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -131,6 +131,10 @@ type ScheduleAlgorithm interface {
// Extenders returns a slice of extender config. This is exposed for
// testing.
Extenders() []algorithm.SchedulerExtender
// GetPredicateMetadataProducer returns the predicate metadata producer. This is needed
// for cluster autoscaler integration.
// TODO(ahg-g): remove this once CA migrates to creating a Framework instead of a full scheduler.
PredicateMetadataProducer() predicates.PredicateMetadataProducer
}
// ScheduleResult represents the result of one pod scheduled. It will contain
@ -171,6 +175,13 @@ func (g *genericScheduler) snapshot() error {
return g.cache.UpdateNodeInfoSnapshot(g.nodeInfoSnapshot)
}
// GetPredicateMetadataProducer returns the predicate metadata producer. This is needed
// for cluster autoscaler integration.
func (g *genericScheduler) PredicateMetadataProducer() predicates.PredicateMetadataProducer {
return g.predicateMetaProducer
}
// Schedule tries to schedule the given pod to one of the nodes in the node list.
// If it succeeds, it will return the name of the node.
// If it fails, it will return a FitError error with reasons.

View File

@ -152,6 +152,11 @@ type mockScheduler struct {
err error
}
func (es mockScheduler) PredicateMetadataProducer() predicates.PredicateMetadataProducer {
return nil
}
func (es mockScheduler) Schedule(ctx context.Context, state *framework.CycleState, pod *v1.Pod) (core.ScheduleResult, error) {
return es.result, es.err
}