Merge pull request #86369 from Huang-Wei/deprecate-AlwaysCheckAllPredicates

Remove alwaysCheckAllPredicates from NewGenericScheduler
This commit is contained in:
Kubernetes Prow Robot 2019-12-20 18:27:32 -08:00 committed by GitHub
commit 84198bf120
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 32 deletions

View File

@ -593,7 +593,6 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
informerFactory.Core().V1().PersistentVolumeClaims().Lister(), informerFactory.Core().V1().PersistentVolumeClaims().Lister(),
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false) false)
podIgnored := &v1.Pod{} podIgnored := &v1.Pod{}

View File

@ -157,7 +157,6 @@ type genericScheduler struct {
prioritizers []priorities.PriorityConfig prioritizers []priorities.PriorityConfig
framework framework.Framework framework framework.Framework
extenders []algorithm.SchedulerExtender extenders []algorithm.SchedulerExtender
alwaysCheckAllPredicates bool
nodeInfoSnapshot *nodeinfosnapshot.Snapshot nodeInfoSnapshot *nodeinfosnapshot.Snapshot
volumeBinder *volumebinder.VolumeBinder volumeBinder *volumebinder.VolumeBinder
pvcLister corelisters.PersistentVolumeClaimLister pvcLister corelisters.PersistentVolumeClaimLister
@ -1134,7 +1133,7 @@ func podPassesBasicChecks(pod *v1.Pod, pvcLister corelisters.PersistentVolumeCla
} }
// NewGenericScheduler creates a genericScheduler object. // NewGenericScheduler creates a genericScheduler object.
// TODO(Huang-Wei): remove 'predicates' and 'alwaysCheckAllPredicates'. // TODO(Huang-Wei): remove 'predicates'.
func NewGenericScheduler( func NewGenericScheduler(
cache internalcache.Cache, cache internalcache.Cache,
podQueue internalqueue.SchedulingQueue, podQueue internalqueue.SchedulingQueue,
@ -1146,7 +1145,6 @@ func NewGenericScheduler(
volumeBinder *volumebinder.VolumeBinder, volumeBinder *volumebinder.VolumeBinder,
pvcLister corelisters.PersistentVolumeClaimLister, pvcLister corelisters.PersistentVolumeClaimLister,
pdbLister policylisters.PodDisruptionBudgetLister, pdbLister policylisters.PodDisruptionBudgetLister,
alwaysCheckAllPredicates bool,
disablePreemption bool, disablePreemption bool,
percentageOfNodesToScore int32, percentageOfNodesToScore int32,
enableNonPreempting bool) ScheduleAlgorithm { enableNonPreempting bool) ScheduleAlgorithm {
@ -1161,7 +1159,6 @@ func NewGenericScheduler(
volumeBinder: volumeBinder, volumeBinder: volumeBinder,
pvcLister: pvcLister, pvcLister: pvcLister,
pdbLister: pdbLister, pdbLister: pdbLister,
alwaysCheckAllPredicates: alwaysCheckAllPredicates,
disablePreemption: disablePreemption, disablePreemption: disablePreemption,
percentageOfNodesToScore: percentageOfNodesToScore, percentageOfNodesToScore: percentageOfNodesToScore,
enableNonPreempting: enableNonPreempting, enableNonPreempting: enableNonPreempting,

View File

@ -370,15 +370,14 @@ func TestGenericScheduler(t *testing.T) {
defer algorithmpredicates.SetPredicatesOrderingDuringTest(order)() defer algorithmpredicates.SetPredicatesOrderingDuringTest(order)()
tests := []struct { tests := []struct {
name string name string
registerPlugins []st.RegisterPluginFunc registerPlugins []st.RegisterPluginFunc
alwaysCheckAllPredicates bool nodes []string
nodes []string pvcs []v1.PersistentVolumeClaim
pvcs []v1.PersistentVolumeClaim pod *v1.Pod
pod *v1.Pod pods []*v1.Pod
pods []*v1.Pod expectedHosts sets.String
expectedHosts sets.String wErr error
wErr error
}{ }{
{ {
registerPlugins: []st.RegisterPluginFunc{ registerPlugins: []st.RegisterPluginFunc{
@ -789,7 +788,6 @@ func TestGenericScheduler(t *testing.T) {
cache, cache,
internalqueue.NewSchedulingQueue(nil), internalqueue.NewSchedulingQueue(nil),
nil, nil,
// test.prioritizers,
priorities.EmptyMetadataProducer, priorities.EmptyMetadataProducer,
snapshot, snapshot,
fwk, fwk,
@ -797,7 +795,6 @@ func TestGenericScheduler(t *testing.T) {
nil, nil,
pvcLister, pvcLister,
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
test.alwaysCheckAllPredicates,
false, false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false) false)
@ -839,7 +836,7 @@ func makeScheduler(nodes []*v1.Node, fns ...st.RegisterPluginFunc) *genericSched
priorities.EmptyMetadataProducer, priorities.EmptyMetadataProducer,
emptySnapshot, emptySnapshot,
fwk, fwk,
nil, nil, nil, nil, false, false, nil, nil, nil, nil, false,
schedulerapi.DefaultPercentageOfNodesToScore, false) schedulerapi.DefaultPercentageOfNodesToScore, false)
cache.UpdateNodeInfoSnapshot(s.(*genericScheduler).nodeInfoSnapshot) cache.UpdateNodeInfoSnapshot(s.(*genericScheduler).nodeInfoSnapshot)
return s.(*genericScheduler) return s.(*genericScheduler)
@ -967,7 +964,7 @@ func TestFindFitPredicateCallCounts(t *testing.T) {
priorities.EmptyMetadataProducer, priorities.EmptyMetadataProducer,
emptySnapshot, emptySnapshot,
fwk, fwk,
nil, nil, nil, nil, false, false, nil, nil, nil, nil, false,
schedulerapi.DefaultPercentageOfNodesToScore, false).(*genericScheduler) schedulerapi.DefaultPercentageOfNodesToScore, false).(*genericScheduler)
cache.UpdateNodeInfoSnapshot(scheduler.nodeInfoSnapshot) cache.UpdateNodeInfoSnapshot(scheduler.nodeInfoSnapshot)
queue.UpdateNominatedPodForNode(&v1.Pod{ObjectMeta: metav1.ObjectMeta{UID: types.UID("nominated")}, Spec: v1.PodSpec{Priority: &midPriority}}, "1") queue.UpdateNominatedPodForNode(&v1.Pod{ObjectMeta: metav1.ObjectMeta{UID: types.UID("nominated")}, Spec: v1.PodSpec{Priority: &midPriority}}, "1")
@ -1168,7 +1165,6 @@ func TestZeroRequest(t *testing.T) {
nil, nil,
nil, nil,
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false).(*genericScheduler) false).(*genericScheduler)
scheduler.nodeInfoSnapshot = snapshot scheduler.nodeInfoSnapshot = snapshot
@ -1615,7 +1611,6 @@ func TestSelectNodesForPreemption(t *testing.T) {
nil, nil,
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false) false)
g := scheduler.(*genericScheduler) g := scheduler.(*genericScheduler)
@ -2363,7 +2358,6 @@ func TestPreempt(t *testing.T) {
informerFactory.Core().V1().PersistentVolumeClaims().Lister(), informerFactory.Core().V1().PersistentVolumeClaims().Lister(),
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
true) true)
state := framework.NewCycleState() state := framework.NewCycleState()

View File

@ -86,9 +86,6 @@ type Configurator struct {
// Handles volume binding decisions // Handles volume binding decisions
volumeBinder *volumebinder.VolumeBinder volumeBinder *volumebinder.VolumeBinder
// Always check all predicates even if the middle of one predicate fails.
alwaysCheckAllPredicates bool
// Disable pod preemption or not. // Disable pod preemption or not.
disablePreemption bool disablePreemption bool
@ -204,11 +201,6 @@ func (c *Configurator) CreateFromConfig(policy schedulerapi.Policy) (*Scheduler,
if policy.HardPodAffinitySymmetricWeight != 0 { if policy.HardPodAffinitySymmetricWeight != 0 {
c.hardPodAffinitySymmetricWeight = policy.HardPodAffinitySymmetricWeight c.hardPodAffinitySymmetricWeight = policy.HardPodAffinitySymmetricWeight
} }
// When AlwaysCheckAllPredicates is set to true, scheduler checks all the configured
// predicates even after one or more of them fails.
if policy.AlwaysCheckAllPredicates {
c.alwaysCheckAllPredicates = policy.AlwaysCheckAllPredicates
}
return c.CreateFromKeys(predicateKeys, priorityKeys, extenders) return c.CreateFromKeys(predicateKeys, priorityKeys, extenders)
} }
@ -289,7 +281,6 @@ func (c *Configurator) CreateFromKeys(predicateKeys, priorityKeys sets.String, e
c.volumeBinder, c.volumeBinder,
c.informerFactory.Core().V1().PersistentVolumeClaims().Lister(), c.informerFactory.Core().V1().PersistentVolumeClaims().Lister(),
GetPodDisruptionBudgetLister(c.informerFactory), GetPodDisruptionBudgetLister(c.informerFactory),
c.alwaysCheckAllPredicates,
c.disablePreemption, c.disablePreemption,
c.percentageOfNodesToScore, c.percentageOfNodesToScore,
c.enableNonPreempting, c.enableNonPreempting,

View File

@ -695,7 +695,6 @@ func setupTestScheduler(queuedPodStore *clientcache.FIFO, scache internalcache.C
informerFactory.Core().V1().PersistentVolumeClaims().Lister(), informerFactory.Core().V1().PersistentVolumeClaims().Lister(),
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false, false,
) )
@ -752,7 +751,6 @@ func setupTestSchedulerLongBindingWithRetry(queuedPodStore *clientcache.FIFO, sc
informerFactory.Core().V1().PersistentVolumeClaims().Lister(), informerFactory.Core().V1().PersistentVolumeClaims().Lister(),
informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(), informerFactory.Policy().V1beta1().PodDisruptionBudgets().Lister(),
false, false,
false,
schedulerapi.DefaultPercentageOfNodesToScore, schedulerapi.DefaultPercentageOfNodesToScore,
false, false,
) )