func (s *SchedulerServer) createConfig(configFactory *factory.ConfigFactory) (*scheduler.Config, error) { var policy schedulerapi.Policy var configData []byte if _, err := os.Stat(s.PolicyConfigFile); err == nil { configData, err = ioutil.ReadFile(s.PolicyConfigFile) if err != nil { return nil, fmt.Errorf("Unable to read policy config: %v", err) } err = latestschedulerapi.Codec.DecodeInto(configData, &policy) if err != nil { return nil, fmt.Errorf("Invalid configuration: %v", err) } return configFactory.CreateFromConfig(policy) } // if the config file isn't provided, use the specified (or default) provider // check of algorithm provider is registered and fail fast _, err := factory.GetAlgorithmProvider(s.AlgorithmProvider) if err != nil { return nil, err } return configFactory.CreateFromProvider(s.AlgorithmProvider) }
// The same method defined in scheduler server. Create config file for the default kubernetes scheduler. func createConfigFromDefaultProvider(configFactory *factory.ConfigFactory) (*scheduler.Config, error) { // if the config file isn't provided, use the specified (or default) provider // check of algorithm provider is registered and fail fast _, err := factory.GetAlgorithmProvider(factory.DefaultProvider) if err != nil { return nil, err } return configFactory.CreateFromProvider(factory.DefaultProvider) }
func createConfig(s *options.SchedulerServer, configFactory *factory.ConfigFactory) (*scheduler.Config, error) { if _, err := os.Stat(s.PolicyConfigFile); err == nil { var ( policy schedulerapi.Policy configData []byte ) configData, err := ioutil.ReadFile(s.PolicyConfigFile) if err != nil { return nil, fmt.Errorf("unable to read policy config: %v", err) } if err := runtime.DecodeInto(latestschedulerapi.Codec, configData, &policy); err != nil { return nil, fmt.Errorf("invalid configuration: %v", err) } return configFactory.CreateFromConfig(policy) } // if the config file isn't provided, use the specified (or default) provider return configFactory.CreateFromProvider(s.AlgorithmProvider) }