added algorithm provider cli option to the kube-scheduler command and renamed default provider to follow naming convention

This commit is contained in:
Mike Danese 2015-01-15 16:27:25 -08:00
parent e12a78cb1d
commit e3da5e15bc
2 changed files with 15 additions and 5 deletions

View File

@ -37,9 +37,10 @@ import (
) )
var ( var (
port = flag.Int("port", ports.SchedulerPort, "The port that the scheduler's http service runs on") 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")) address = util.IP(net.ParseIP("127.0.0.1"))
clientConfig = &client.Config{} clientConfig = &client.Config{}
algorithmProvider = flag.String("algorithm_provider", factory.DefaultProvider, "The scheduling algorithm provider to use")
) )
func init() { func init() {
@ -64,7 +65,7 @@ func main() {
go http.ListenAndServe(net.JoinHostPort(address.String(), strconv.Itoa(*port)), nil) go http.ListenAndServe(net.JoinHostPort(address.String(), strconv.Itoa(*port)), nil)
configFactory := factory.NewConfigFactory(kubeClient) configFactory := factory.NewConfigFactory(kubeClient)
config, err := configFactory.Create() config, err := createConfig(configFactory)
if err != nil { if err != nil {
glog.Fatalf("Failed to create scheduler configuration: %v", err) glog.Fatalf("Failed to create scheduler configuration: %v", err)
} }
@ -73,3 +74,12 @@ func main() {
select {} 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)
}

View File

@ -36,7 +36,7 @@ var (
) )
const ( const (
DefaultProvider = "default" DefaultProvider = "DefaultProvider"
) )
type AlgorithmProviderConfig struct { type AlgorithmProviderConfig struct {