From e3da5e15bc8d611a5482ece2e1b1ebb87b949f49 Mon Sep 17 00:00:00 2001 From: Mike Danese Date: Thu, 15 Jan 2015 16:27:25 -0800 Subject: [PATCH] added algorithm provider cli option to the kube-scheduler command and renamed default provider to follow naming convention --- plugin/cmd/kube-scheduler/scheduler.go | 18 ++++++++++++++---- plugin/pkg/scheduler/factory/plugins.go | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/plugin/cmd/kube-scheduler/scheduler.go b/plugin/cmd/kube-scheduler/scheduler.go index 895628612d6..20c67dc8324 100644 --- a/plugin/cmd/kube-scheduler/scheduler.go +++ b/plugin/cmd/kube-scheduler/scheduler.go @@ -37,9 +37,10 @@ import ( ) var ( - port = flag.Int("port", ports.SchedulerPort, "The port that the scheduler's http service runs on") - address = util.IP(net.ParseIP("127.0.0.1")) - clientConfig = &client.Config{} + port = flag.Int("port", ports.SchedulerPort, "The port that the scheduler's http service runs on") + address = util.IP(net.ParseIP("127.0.0.1")) + clientConfig = &client.Config{} + algorithmProvider = flag.String("algorithm_provider", factory.DefaultProvider, "The scheduling algorithm provider to use") ) func init() { @@ -64,7 +65,7 @@ func main() { go http.ListenAndServe(net.JoinHostPort(address.String(), strconv.Itoa(*port)), nil) configFactory := factory.NewConfigFactory(kubeClient) - config, err := configFactory.Create() + config, err := createConfig(configFactory) if err != nil { glog.Fatalf("Failed to create scheduler configuration: %v", err) } @@ -73,3 +74,12 @@ func main() { select {} } + +func createConfig(configFactory *factory.ConfigFactory) (*scheduler.Config, error) { + // check of algorithm provider is registered and fail fast + _, err := factory.GetAlgorithmProvider(*algorithmProvider) + if err != nil { + return nil, err + } + return configFactory.CreateFromProvider(*algorithmProvider) +} diff --git a/plugin/pkg/scheduler/factory/plugins.go b/plugin/pkg/scheduler/factory/plugins.go index af62439cc55..1a5ce88e6b0 100644 --- a/plugin/pkg/scheduler/factory/plugins.go +++ b/plugin/pkg/scheduler/factory/plugins.go @@ -36,7 +36,7 @@ var ( ) const ( - DefaultProvider = "default" + DefaultProvider = "DefaultProvider" ) type AlgorithmProviderConfig struct {