mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Merge pull request #78259 from tedyu/non-ignorable-extenders
Put non-ignorable extenders ahead of ignorable extenders
This commit is contained in:
commit
2daad0b535
@ -387,19 +387,26 @@ func (c *configFactory) CreateFromConfig(policy schedulerapi.Policy) (*Config, e
|
|||||||
var extenders []algorithm.SchedulerExtender
|
var extenders []algorithm.SchedulerExtender
|
||||||
if len(policy.ExtenderConfigs) != 0 {
|
if len(policy.ExtenderConfigs) != 0 {
|
||||||
ignoredExtendedResources := sets.NewString()
|
ignoredExtendedResources := sets.NewString()
|
||||||
|
var ignorableExtenders []algorithm.SchedulerExtender
|
||||||
for ii := range policy.ExtenderConfigs {
|
for ii := range policy.ExtenderConfigs {
|
||||||
klog.V(2).Infof("Creating extender with config %+v", policy.ExtenderConfigs[ii])
|
klog.V(2).Infof("Creating extender with config %+v", policy.ExtenderConfigs[ii])
|
||||||
extender, err := core.NewHTTPExtender(&policy.ExtenderConfigs[ii])
|
extender, err := core.NewHTTPExtender(&policy.ExtenderConfigs[ii])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
extenders = append(extenders, extender)
|
if !extender.IsIgnorable() {
|
||||||
|
extenders = append(extenders, extender)
|
||||||
|
} else {
|
||||||
|
ignorableExtenders = append(ignorableExtenders, extender)
|
||||||
|
}
|
||||||
for _, r := range policy.ExtenderConfigs[ii].ManagedResources {
|
for _, r := range policy.ExtenderConfigs[ii].ManagedResources {
|
||||||
if r.IgnoredByScheduler {
|
if r.IgnoredByScheduler {
|
||||||
ignoredExtendedResources.Insert(string(r.Name))
|
ignoredExtendedResources.Insert(string(r.Name))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// place ignorable extenders to the tail of extenders
|
||||||
|
extenders = append(extenders, ignorableExtenders...)
|
||||||
predicates.RegisterPredicateMetadataProducerWithExtendedResourceOptions(ignoredExtendedResources)
|
predicates.RegisterPredicateMetadataProducerWithExtendedResourceOptions(ignoredExtendedResources)
|
||||||
}
|
}
|
||||||
// Providing HardPodAffinitySymmetricWeight in the policy config is the new and preferred way of providing the value.
|
// Providing HardPodAffinitySymmetricWeight in the policy config is the new and preferred way of providing the value.
|
||||||
|
Loading…
Reference in New Issue
Block a user