From 3d07221507e2225dc2754843b473d4dc36265179 Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Thu, 23 May 2019 13:50:23 -0700 Subject: [PATCH] Put non-ignorable extenders ahead of ignorable extenders Signed-off-by: Ted Yu --- pkg/scheduler/factory/factory.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/scheduler/factory/factory.go b/pkg/scheduler/factory/factory.go index 73b4646edc4..e0496df8dbd 100644 --- a/pkg/scheduler/factory/factory.go +++ b/pkg/scheduler/factory/factory.go @@ -387,19 +387,26 @@ func (c *configFactory) CreateFromConfig(policy schedulerapi.Policy) (*Config, e var extenders []algorithm.SchedulerExtender if len(policy.ExtenderConfigs) != 0 { ignoredExtendedResources := sets.NewString() + var ignorableExtenders []algorithm.SchedulerExtender for ii := range policy.ExtenderConfigs { klog.V(2).Infof("Creating extender with config %+v", policy.ExtenderConfigs[ii]) extender, err := core.NewHTTPExtender(&policy.ExtenderConfigs[ii]) if err != nil { 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 { if r.IgnoredByScheduler { ignoredExtendedResources.Insert(string(r.Name)) } } } + // place ignorable extenders to the tail of extenders + extenders = append(extenders, ignorableExtenders...) predicates.RegisterPredicateMetadataProducerWithExtendedResourceOptions(ignoredExtendedResources) } // Providing HardPodAffinitySymmetricWeight in the policy config is the new and preferred way of providing the value.