Merge pull request #103327 from SataQiu/fix-write-config-to

kube-scheduler: ensure the default config output of --write-to-config is usable
This commit is contained in:
Kubernetes Prow Robot 2021-06-30 21:00:06 -07:00 committed by GitHub
commit 5c23b61247
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -87,6 +87,30 @@ func LogOrWriteConfig(fileName string, cfg *config.KubeSchedulerConfiguration, c
}
cfg.Profiles = completedProfiles
if len(fileName) > 0 {
// Since the default component config lists all the default plugins as enabled
// without disabling them, we must explicitly disable all the plugins for each
// extension point using the "*" expression to ensure that the generated config
// file is usable
disabledPlugins := []config.Plugin{{Name: "*"}}
for i := range cfg.Profiles {
if cfg.Profiles[i].Plugins == nil {
continue
}
cfg.Profiles[i].Plugins.QueueSort.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.PreFilter.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.Filter.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.PostFilter.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.PreScore.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.Score.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.Reserve.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.Permit.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.PreBind.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.Bind.Disabled = disabledPlugins
cfg.Profiles[i].Plugins.PostBind.Disabled = disabledPlugins
}
}
buf, err := encodeConfig(cfg)
if err != nil {
return err