mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-01 01:08:55 +00:00
Put non-ignorable extenders ahead of ignorable extenders
Signed-off-by: Ted Yu <yute@vmware.com>
This commit is contained in:
@@ -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.
|
||||||
|
Reference in New Issue
Block a user