Commit Graph

606 Commits

Author SHA1 Message Date
Alex Wang
8a5df1302a rename unschedulableQ to unschedulablePods
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-03-24 17:38:49 +08:00
Wei Huang
d330f4dcb4
Fix a bug that out-of-tree plugin is misplaced when using scheduler v1beta3 config 2022-03-21 10:46:26 -07:00
Kubernetes Prow Robot
2b1b849d6a
Merge pull request #108362 from sanposhiho/implement-mindomains
Implement MinDomains on Pod Topology Spread
2022-03-15 10:34:11 -07:00
Abdullah Gharaibeh
5b20b68bc9 Updated the scheduler framework's PreFilter interface to return a PreFilterResult 2022-03-14 15:36:52 -04:00
sanposhiho
6141aa53f9 Implement MinDomains 2022-03-15 01:38:44 +09:00
Ruquan Zhao
f1a5b6ca06 Remove genericScheduler and SchedulerAlgorithm.
Signed-off-by: Ruquan Zhao <ruquan.zhao@arm.com>
2022-03-04 13:26:46 +08:00
Kubernetes Prow Robot
d3ece70f0b
Merge pull request #108269 from kerthcet/refactor/rename-schedulercache-to-cache
refactor: rename SchedulerCache to Cache in Scheduler
2022-02-24 14:46:13 -08:00
kerthcet
eafbaad9f7 refactor: rename SchedulerCache to Cache in Scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-24 09:47:21 +08:00
Abirdcfly
5da98dedb4 delete redundant characters in comment
Change-Id: Id49d6266f76d2e242880f25cfa2b591bcef1b5ff
2022-02-21 13:51:53 +08:00
Abdullah Gharaibeh
8a1c70b48c Graduate PodAffinityNamespaceSelector to GA 2022-02-18 12:07:29 -05:00
Kubernetes Prow Robot
24e5d1fdb7
Merge pull request #107432 from denkensk/graduate-nonpreemptingpriority-to-ga
Graduate NonPreemptingPriority to GA
2022-02-08 11:05:03 -08:00
Kubernetes Prow Robot
6ef0f3f620
Merge pull request #103642 from kerthcet/refactor/unreserve_test
refactor unreserve test
2022-02-08 02:36:53 -08:00
Alex Wang
541907334e graduate nonpreemptingpriority to ga 2022-02-08 18:11:23 +08:00
kerthcet
8243167013 refactor unreserve_test
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-08 11:37:56 +08:00
ravisantoshgudimetla
65ff81757d Wire contexts to Disruption controllers 2022-02-04 10:32:04 -05:00
kerthcet
fdaea59465 refactor initRegistryAndConfig function
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-01-26 01:16:13 +08:00
Kubernetes Prow Robot
84f1d6834f
Merge pull request #106619 from chendave/ga
Graduate `PreferNominatedNode` to GA
2022-01-04 15:21:19 -08:00
Wei Huang
2433b083a9
clear pod's .status.nominatedNodeName when necessary 2021-12-16 10:55:13 -08:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
d7f8234b6d
Merge pull request #106747 from ahg-g/ahg-test
Added an integration test for NodeResourcesFit scoring
2021-12-07 19:28:06 -08:00
Abdullah Gharaibeh
33a04dc5f5 Added an integration test for NodeResourcesFit scoring 2021-11-30 12:13:30 -05:00
HaoJie Liu
1dc1a37294
fix typo in /test/integration 2021-11-25 18:59:31 +08:00
Dave Chen
8609358975 Graduate PreferNominatedNode to GA
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-11-24 14:50:53 +08:00
Mike Dame
420c5308bb Add MultiPoint scheduler plugin config field 2021-11-16 14:56:33 -05:00
Mike Dame
4960d0976a Wire contexts to Core controllers 2021-11-01 10:29:00 -04:00
Dave Chen
1500a5ca80 Simplify the integration test by removing the struct of nodeConfig
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-10-12 17:46:38 +08:00
Kubernetes Prow Robot
c2cbf5ff49
Merge pull request #105509 from ravisantoshgudimetla/fix-integration
[scheduler] [test]: Fix PreferNominatedNode test
2021-10-11 20:01:46 -07:00
Kubernetes Prow Robot
835980ac67
Merge pull request #105424 from kerthcet/cleanup/remove-scheduler-policy-config
remove scheduler policy config
2021-10-08 10:57:23 -07:00
kerthcet
a6f695581b remove legacy scheduler policy config, as well as associated flags policy-config-file, policy-configmap, policy-configmap-namespace and use-legacy-policy-config
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-08 23:57:49 +08:00
Kubernetes Prow Robot
60ab733932
Merge pull request #105546 from Huang-Wei/fix-evt-volumebinding
sched: adjust events to register for VolumeBinding plugin
2021-10-08 02:12:57 -07:00
Kubernetes Prow Robot
9b45983d3c
Merge pull request #104251 from ravisantoshgudimetla/scheduling-v1beta3
Scheduling v1beta3
2021-10-07 10:47:32 -07:00
Wei Huang
b7d90ca991
sched: adjust events to register for VolumeBinding plugin 2021-10-07 08:51:04 -07:00
ravisantoshgudimetla
283b176102 [test]: modify integration tests to use v1beta3 2021-10-07 10:58:07 -04:00
Wei Huang
3283e6bb72
sched: integration test to cover event registration 2021-10-06 15:17:38 -07:00
ravisantoshgudimetla
9476237923 [scheduler] [test]: Fix PreferNominatedNode test
Once the node gets deleted, the nodelifecycle controller
is racing to update pod status and the pod deletion logic
is failing causing tests to flake. This commit moves
the testContext creation to within the test loop and deletes nodes,
namespace within the test loop. We don't explicitly call the node
deletion within the loop but the `testutils.CleanupTest(t, testCtx)`
call ensures that the namespace, nodes gets deleted.
2021-10-06 09:07:16 -04:00
kerthcet
75a255d2ed remove scheduler component config v1beta1
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-09-28 13:13:17 +08:00
Wei Huang
d7bf9d724f
Provide a timeout function to fail quick on blocking operations
It works like the Linux `timeout` utility.
2021-09-17 10:23:06 -07:00
Wei Huang
a689ad4cda
sched: start dynamicInformerFactory along with regular informerFactory (#105016)
* sched: start dynamicInformerFactory along with regular informerFactory

* fixup: start all informers and then wait for their syncs
2021-09-16 19:33:00 -07:00
Wei Huang
dc079acc2b
sched: retry unschedule pods immediately after a waiting pod's deletion 2021-08-06 19:08:37 -07:00
David Eads
649b87aaf8 prevent mutation of deletion options during delete collection 2021-07-08 15:36:10 -04:00
Wei Huang
fb9cafc99b
sched: provide an option for plugin developers to move pods to activeQ 2021-07-07 12:50:12 -07:00
Mengjiao Liu
4eab19ae7d Clean up the master term in test/integration comments 2021-06-18 16:31:05 +08:00
Mengjiao Liu
da35add03f Rename master to apiserver in test/integration 2021-06-17 15:48:39 +08:00
Abdullah Gharaibeh
265ef1741f Move scheduler plugin set and configuration defaulting to component config 2021-06-16 10:15:29 -04:00
Kubernetes Prow Robot
8955463c17
Merge pull request #102745 from ahg-g/ahg-provider
Remove SchedulerAlgorithmSource from scheduler's internal CC API
2021-06-10 07:17:39 -07:00
Kubernetes Prow Robot
521be6344e
Merge pull request #102558 from Jerry-Ge/unroll-extenders
Unroll ScheduleAlgorithm#Extenders() to Scheduler.go
2021-06-10 07:17:27 -07:00
Jerry-Ge
110c39ef60 unroll extenders
Signed-off-by: Jerry Ge <jerry.ge@arm.com>

Co-authored-by: Huang-Wei <wei.huang1@ibm.com>
2021-06-10 08:31:44 +08:00
Abdullah Gharaibeh
52f5ba3a58 Remove SchedulerAlgorithmSource from scheduler's internal CC API 2021-06-09 19:14:54 -04:00
Mengjiao Liu
387154f1a9 Part3: master to controlplane in test/integration
Rename RunAMaster to RunAControlPlane
2021-06-03 11:06:19 +08:00
Wei Huang
1b3a124ba6
Scheduler now registers event handlers dynamically
- move clusterEventMap to Configurator
- dynamic event handlers registration for core API resources
- dynamic event handlers registration for custom resources
2021-05-21 13:47:06 -07:00
Abdullah Gharaibeh
ebf0bca3ce Added integration test for pod affinity namespace selector 2021-04-27 14:13:08 -04:00
Kubernetes Prow Robot
ed3e0d302f
Merge pull request #100644 from Huang-Wei/sched-fwk-config
Surface kube config in scheduler framework handle
2021-04-12 19:12:49 -07:00
Kubernetes Prow Robot
3c75651d15
Merge pull request #100357 from Huang-Wei/enq-serviceaffinity
implement EnqueueExtensions interface in serviceaffinity
2021-04-08 20:30:20 -07:00
Wei Huang
e7f67b1a63
Surface kube config in scheduler framework handle 2021-03-30 11:54:59 -07:00
caiweidong
850759ec87 Preempting: do not delete the victim if it just exits in WaitingPods 2021-03-23 14:37:36 +08:00
Wei Huang
9d1ef9f4c5
unregister Service events if a plugin doesn't implement EventsToRegister() 2021-03-18 11:04:06 -07:00
Morten Torkildsen
21fba79d45 Promote PDBs to GA 2021-03-09 10:29:11 -05:00
Kubernetes Prow Robot
0ced9d2854
Merge pull request #99498 from gavinfish/sched-preempthandle
Scheduler: unroll PreemptHandle to Handle
2021-03-01 13:58:28 -08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
drfish
38ad860c2f Unroll PreemptHandle to Handle 2021-02-27 00:44:05 +08:00
Mengxue Zhang
4fb8e343c0 parse pod's node affinity once in preFilter 2021-02-25 00:21:32 +00:00
Kubernetes Prow Robot
186f934e4c
Merge pull request #98346 from mortent/checkForScalePDBs
Check if resources implement scale in disruption controller
2021-02-22 13:58:03 -08:00
drfish
74315f9c56 Change config.Plugins from pointers to objects 2021-02-10 23:45:59 +08:00
Morten Torkildsen
96ea28aa77 Check if resources implement scale in disruption controller 2021-02-03 20:19:35 -08:00
Wei Huang
f8a6bdb044
Surface info of failed plugins during PerFilter and Filter 2021-01-28 12:20:42 -08:00
Kubernetes Prow Robot
21d3c73f54
Merge pull request #93179 from chendave/preemption_improve
prefer nominated node - IMPL
2021-01-26 21:03:40 -08:00
Dave Chen
6d800ffe07 Prefer nominated node in the new scheduling cycle
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-26 09:59:00 +08:00
drfish
d4418c1402 Update the PreFilterExtensions interface to use PodInfo 2021-01-19 00:49:52 +08:00
SataQiu
2b38078de1 scheduler: parse Pod's Node affinity once in PreScore phase
Signed-off-by: SataQiu <1527062125@qq.com>
2020-11-26 11:19:52 +08:00
Kubernetes Prow Robot
147a120948
Merge pull request #82222 from Huang-Wei/0-informer-sync-period
Set 0 sync period in scheduler integration test
2020-11-16 11:16:04 -08:00
Kubernetes Prow Robot
3e43d5b92a
Merge pull request #96292 from wangyx1992/cleanup-scheduler-log-capatilization
cleanup: fix log capitalization in scheduler
2020-11-12 11:20:45 -08:00
Yixiang2019
842cc6b4e2 cleanup: fix log capitalization in scheduler
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-11-12 20:10:26 +08:00
Wei Huang
af384f27ed
Fix failures in TestBindPlugin and TestPreemptWithPermitPlugin 2020-11-11 12:56:13 -08:00
Wei Huang
185093bd4e
Set 0 sync period in scheduler integration test 2020-11-11 12:56:13 -08:00
Wei Huang
47a7c374c6
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy 2020-11-10 17:48:32 -08:00
Wei Huang
b5eeb8cd0f
cleanup dated wording "NominatedNodeName annotation" 2020-11-06 13:42:01 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Wei Huang
a146cb0aa0
Replace calls to cs.CoreV1().Nodes().Create() with createNode() 2020-11-03 15:25:44 -08:00
Wei Huang
f054765762
Add a function to ensure created nodes are present in scheduler cache 2020-11-03 15:25:44 -08:00
Kubernetes Prow Robot
237dae5a5e
Merge pull request #95807 from Huang-Wei/postfilter-int-test-flake
Deflake PostFilter integration test
2020-10-23 12:15:16 -07:00
Wei Huang
6e7b20543c
Deflake PostFilter integration test 2020-10-22 13:48:50 -07:00
Aldo Culquicondor
f6fb0bd308 Add integration test for Default PodTopologySpread
Simulating a cluster with 500 nodes in 3 zones, deploying 3, 12 and 27 Pods belonging to the same service.

Change-Id: I16425594012ea7bd24b888acedb12958360bff97
2020-10-22 13:42:50 -04:00
Aldo Culquicondor
87c8349bdc Graduate DefaultPodTopologySpread to beta
And set to enabled by default

Change-Id: Ie4cc4758c52492924cb0663450f2747908cb5882
2020-10-19 16:58:09 -04:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Kubernetes Prow Robot
c72b30b3b7
Merge pull request #93534 from everpeace/score-in-preemption-handle
scheduler: expose Run[Pre]ScorePlugins functions to PreemptionHandle(through PluginRunner)
2020-10-09 20:34:47 -07:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -07:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
Shingo Omura
d0421fa9c3
Fix TestScorePlugin: numScore should be accessed with atomic.LoadInt32 2020-08-04 22:50:13 +09:00
Shingo Omura
ef1fab7642
expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
Wei Huang
b6b7ab3f73
Deflake scheduler PostBind integration test 2020-08-03 12:30:22 -07:00
Kubernetes Prow Robot
9af4ad5c45
Merge pull request #93550 from Huang-Wei/refix-postfilter-flake
Deflake scheduler PostFilter and Filter integration test
2020-07-30 04:30:31 -07:00
Wei Huang
539272cb73
Deflake scheduler PostFilter and Filter integration test
- Revert "Fix integration test flake on TestFilter and TestPostFilter"
  This reverts commit 94fc18c2dc.
- Relax checking logic on expected Filter/PostFilter counters.
2020-07-29 18:37:47 -07:00
Wei Huang
0e71facefe
Hold Pod in cache until all other cleanup work is completed
- Move "ForgetPod" after "RunReservePluginsUnreserve", so that the cache would hold the pod to
  avoid it's being retried simutaneously until Unreserve is completed.
- Move "assume" ahead of "RunReservePluginsReserve". This is based on the fact that "ForgetPod" is
  the last step of failure path, so "assume" should be reversly treated as the first step. The
  current failure path is like this:
  assume -> reserve -> unreserve -> forgetPod -> recordingFailure
- Make subtests of TestReservePluginUnreserve stateless
2020-07-29 11:27:19 -07:00
Wei Huang
94fc18c2dc
Fix integration test flake on TestFilter and TestPostFilter 2020-07-28 20:51:01 -07:00
Wei Huang
862fdaaf79
Fix an integration test flake on NodeAfffinity ScorePlugin 2020-07-28 08:57:02 -07:00
Wei Huang
8936f9e4bf
Fix integration test flake on TestScorePlugin 2020-07-27 18:13:38 -07:00
Wei Huang
d65a97848e
codegen 2020-07-08 09:58:42 -07:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Kubernetes Prow Robot
b6cbe1b8de
Merge pull request #92662 from chelseychen/event-api-fallback
Switch event recorder to use events.k8s.io/v1
2020-07-03 05:03:15 -07:00
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00