diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 7e038a45a0..87fe364db8 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -88,6 +88,10 @@ type Configurator interface { // Exposed for testing MakeDefaultErrorFunc(backoff *util.PodBackoff, podQueue core.SchedulingQueue) func(pod *v1.Pod, err error) + // Predicate related accessors to be exposed for use by k8s.io/autoscaler/cluster-autoscaler + GetPredicateMetadataProducer() (algorithm.PredicateMetadataProducer, error) + GetPredicates(predicateKeys sets.String) (map[string]algorithm.FitPredicate, error) + // Needs to be exposed for things like integration tests where we want to make fake nodes. GetNodeLister() corelisters.NodeLister // Exposed for testing diff --git a/pkg/scheduler/testutil.go b/pkg/scheduler/testutil.go index 552068d1fd..ded22c0efd 100644 --- a/pkg/scheduler/testutil.go +++ b/pkg/scheduler/testutil.go @@ -17,6 +17,8 @@ limitations under the License. package scheduler import ( + "fmt" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/sets" clientset "k8s.io/client-go/kubernetes" @@ -32,6 +34,16 @@ type FakeConfigurator struct { Config *Config } +// GetPredicateMetadataProducer is not implemented yet. +func (fc *FakeConfigurator) GetPredicateMetadataProducer() (algorithm.PredicateMetadataProducer, error) { + return nil, fmt.Errorf("not implemented") +} + +// GetPredicates is not implemented yet. +func (fc *FakeConfigurator) GetPredicates(predicateKeys sets.String) (map[string]algorithm.FitPredicate, error) { + return nil, fmt.Errorf("not implemented") +} + // GetHardPodAffinitySymmetricWeight is not implemented yet. func (fc *FakeConfigurator) GetHardPodAffinitySymmetricWeight() int32 { panic("not implemented")