func LoadConfigFromFile(logger klog.Logger, file string) (*config.KubeSchedulerConfiguration, error)
LoadConfigFromFile loads scheduler config from the specified file path
func LogOrWriteConfig(logger klog.Logger, fileName string, cfg *config.KubeSchedulerConfiguration, completedProfiles []config.KubeSchedulerProfile) error
LogOrWriteConfig logs the completed component config and writes it into the given file name as YAML, if either is enabled
DeprecatedOptions contains deprecated options and their flags. TODO remove these fields once the deprecated flags are removed.
type DeprecatedOptions struct { componentbaseconfig.DebuggingConfiguration componentbaseconfig.ClientConnectionConfiguration // PodMaxInUnschedulablePodsDuration is the maximum time a pod can stay in // unschedulablePods. If a pod stays in unschedulablePods for longer than this // value, the pod will be moved from unschedulablePods to backoffQ or activeQ. // If this value is empty, the default value (5min) will be used. PodMaxInUnschedulablePodsDuration time.Duration }
func (o *DeprecatedOptions) AddFlags(fs *pflag.FlagSet)
AddFlags adds flags for the deprecated options.
Options has all the params needed to run a Scheduler
type Options struct { // The default values. ComponentConfig *kubeschedulerconfig.KubeSchedulerConfiguration SecureServing *apiserveroptions.SecureServingOptionsWithLoopback Authentication *apiserveroptions.DelegatingAuthenticationOptions Authorization *apiserveroptions.DelegatingAuthorizationOptions Metrics *metrics.Options Logs *logs.Options Deprecated *DeprecatedOptions LeaderElection *componentbaseconfig.LeaderElectionConfiguration // ConfigFile is the location of the scheduler server's configuration file. ConfigFile string // WriteConfigTo is the path where the default configuration will be written. WriteConfigTo string Master string // Flags hold the parsed CLI flags. Flags *cliflag.NamedFlagSets }
func NewOptions() *Options
NewOptions returns default scheduler app options.
func (o *Options) ApplyDeprecated()
ApplyDeprecated obtains the deprecated CLI args and set them to `o.ComponentConfig` if specified.
func (o *Options) ApplyLeaderElectionTo(cfg *kubeschedulerconfig.KubeSchedulerConfiguration)
ApplyLeaderElectionTo obtains the CLI args related with leaderelection, and override the values in `cfg`. Then the `cfg` object is injected into the `options` object.
func (o *Options) ApplyTo(logger klog.Logger, c *schedulerappconfig.Config) error
ApplyTo applies the scheduler options to the given scheduler app configuration.
func (o *Options) Config(ctx context.Context) (*schedulerappconfig.Config, error)
Config return a scheduler config object
func (o *Options) Validate() []error
Validate validates all the required options.