Unverified Commit 2daad0b5 authored by Kubernetes Prow Robot's avatar Kubernetes Prow Robot Committed by GitHub

Merge pull request #78259 from tedyu/non-ignorable-extenders

Put non-ignorable extenders ahead of ignorable extenders
parents 01f6e684 3d072215
...@@ -387,19 +387,26 @@ func (c *configFactory) CreateFromConfig(policy schedulerapi.Policy) (*Config, e ...@@ -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
} }
if !extender.IsIgnorable() {
extenders = append(extenders, extender) 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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment