mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Scheduler: Exclude plugin config for empty policy arguments
Signed-off-by: Aldo Culquicondor <acondor@google.com>
This commit is contained in:
parent
d88304507d
commit
666bc6aeb4
@ -253,10 +253,13 @@ func (c *Configurator) createFromConfig(policy schedulerapi.Policy) (*Scheduler,
|
|||||||
// place ignorable extenders to the tail of extenders
|
// place ignorable extenders to the tail of extenders
|
||||||
extenders = append(extenders, ignorableExtenders...)
|
extenders = append(extenders, ignorableExtenders...)
|
||||||
}
|
}
|
||||||
// Providing HardPodAffinitySymmetricWeight in the policy config is the new and preferred way of providing the value.
|
// HardPodAffinitySymmetricWeight in the policy config takes precedence over
|
||||||
// Give it higher precedence than scheduler CLI configuration when it is provided.
|
// CLI configuration.
|
||||||
if policy.HardPodAffinitySymmetricWeight != 0 {
|
if policy.HardPodAffinitySymmetricWeight != 0 {
|
||||||
c.hardPodAffinitySymmetricWeight = policy.HardPodAffinitySymmetricWeight
|
v := policy.HardPodAffinitySymmetricWeight
|
||||||
|
args.InterPodAffinityArgs = &interpodaffinity.Args{
|
||||||
|
HardPodAffinityWeight: &v,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// When AlwaysCheckAllPredicates is set to true, scheduler checks all the configured
|
// When AlwaysCheckAllPredicates is set to true, scheduler checks all the configured
|
||||||
@ -267,10 +270,6 @@ func (c *Configurator) createFromConfig(policy schedulerapi.Policy) (*Scheduler,
|
|||||||
|
|
||||||
klog.V(2).Infof("Creating scheduler with fit predicates '%v' and priority functions '%v'", predicateKeys, priorityKeys)
|
klog.V(2).Infof("Creating scheduler with fit predicates '%v' and priority functions '%v'", predicateKeys, priorityKeys)
|
||||||
|
|
||||||
args.InterPodAffinityArgs = &interpodaffinity.Args{
|
|
||||||
HardPodAffinityWeight: &c.hardPodAffinitySymmetricWeight,
|
|
||||||
}
|
|
||||||
|
|
||||||
pluginsForPredicates, pluginConfigForPredicates, err := getPredicateConfigs(predicateKeys, lr, args)
|
pluginsForPredicates, pluginConfigForPredicates, err := getPredicateConfigs(predicateKeys, lr, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -226,7 +226,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
// GeneralPredicate is a combination of predicates.
|
// GeneralPredicate is a combination of predicates.
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
||||||
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
if args.NodeResourcesFitArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
||||||
|
}
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodename.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodename.Name, nil)
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
||||||
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
|
||||||
@ -242,7 +244,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
||||||
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
if args.NodeResourcesFitArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
registry.registerPredicateConfigProducer(HostNamePred,
|
registry.registerPredicateConfigProducer(HostNamePred,
|
||||||
@ -315,13 +319,17 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
registry.registerPredicateConfigProducer(CheckNodeLabelPresencePred,
|
registry.registerPredicateConfigProducer(CheckNodeLabelPresencePred,
|
||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodelabel.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodelabel.Name, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(nodelabel.Name, args.NodeLabelArgs))
|
if args.NodeLabelArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(nodelabel.Name, args.NodeLabelArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
registry.registerPredicateConfigProducer(CheckServiceAffinityPred,
|
registry.registerPredicateConfigProducer(CheckServiceAffinityPred,
|
||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, serviceaffinity.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, serviceaffinity.Name, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(serviceaffinity.Name, args.ServiceAffinityArgs))
|
if args.ServiceAffinityArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(serviceaffinity.Name, args.ServiceAffinityArgs))
|
||||||
|
}
|
||||||
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, serviceaffinity.Name, nil)
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, serviceaffinity.Name, nil)
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
@ -353,7 +361,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.PreScore = appendToPluginSet(plugins.PreScore, interpodaffinity.Name, nil)
|
plugins.PreScore = appendToPluginSet(plugins.PreScore, interpodaffinity.Name, nil)
|
||||||
plugins.Score = appendToPluginSet(plugins.Score, interpodaffinity.Name, &args.Weight)
|
plugins.Score = appendToPluginSet(plugins.Score, interpodaffinity.Name, &args.Weight)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(interpodaffinity.Name, args.InterPodAffinityArgs))
|
if args.InterPodAffinityArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(interpodaffinity.Name, args.InterPodAffinityArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
registry.registerPriorityConfigProducer(NodePreferAvoidPodsPriority,
|
registry.registerPriorityConfigProducer(NodePreferAvoidPodsPriority,
|
||||||
@ -379,7 +389,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
registry.registerPriorityConfigProducer(noderesources.RequestedToCapacityRatioName,
|
registry.registerPriorityConfigProducer(noderesources.RequestedToCapacityRatioName,
|
||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Score = appendToPluginSet(plugins.Score, noderesources.RequestedToCapacityRatioName, &args.Weight)
|
plugins.Score = appendToPluginSet(plugins.Score, noderesources.RequestedToCapacityRatioName, &args.Weight)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.RequestedToCapacityRatioName, args.RequestedToCapacityRatioArgs))
|
if args.RequestedToCapacityRatioArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.RequestedToCapacityRatioName, args.RequestedToCapacityRatioArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -390,7 +402,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
// priorities specified in Policy have the same weight).
|
// priorities specified in Policy have the same weight).
|
||||||
weight := args.Weight * int32(len(args.NodeLabelArgs.PresentLabelsPreference)+len(args.NodeLabelArgs.AbsentLabelsPreference))
|
weight := args.Weight * int32(len(args.NodeLabelArgs.PresentLabelsPreference)+len(args.NodeLabelArgs.AbsentLabelsPreference))
|
||||||
plugins.Score = appendToPluginSet(plugins.Score, nodelabel.Name, &weight)
|
plugins.Score = appendToPluginSet(plugins.Score, nodelabel.Name, &weight)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(nodelabel.Name, args.NodeLabelArgs))
|
if args.NodeLabelArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(nodelabel.Name, args.NodeLabelArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
registry.registerPriorityConfigProducer(serviceaffinity.Name,
|
registry.registerPriorityConfigProducer(serviceaffinity.Name,
|
||||||
@ -400,7 +414,9 @@ func NewLegacyRegistry() *LegacyRegistry {
|
|||||||
// priorities specified in Policy have the same weight).
|
// priorities specified in Policy have the same weight).
|
||||||
weight := args.Weight * int32(len(args.ServiceAffinityArgs.AntiAffinityLabelsPreference))
|
weight := args.Weight * int32(len(args.ServiceAffinityArgs.AntiAffinityLabelsPreference))
|
||||||
plugins.Score = appendToPluginSet(plugins.Score, serviceaffinity.Name, &weight)
|
plugins.Score = appendToPluginSet(plugins.Score, serviceaffinity.Name, &weight)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(serviceaffinity.Name, args.ServiceAffinityArgs))
|
if args.ServiceAffinityArgs != nil {
|
||||||
|
pluginConfig = append(pluginConfig, makePluginConfig(serviceaffinity.Name, args.ServiceAffinityArgs))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user