Wei Huang
9b64025f36
rename 'PreemptionByKubeScheduler' to 'PreemptionByScheduler'
2023-01-05 10:31:57 -08:00
Wei Huang
91742e2393
Enhanced logic to identify eligible preemption node
2023-01-05 10:31:57 -08:00
Kante Yin
c8908716ee
Make handling scheduleResult more readable
...
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2022-12-22 01:22:34 +08:00
xiaomudk
5826cae547
clean: remove useless parentheses
2022-06-10 00:09:50 +08:00
cyclinder
6150737d11
remove feature gate GA for 1.25
...
Signed-off-by: cyclinder qifeng.guo@daocloud.io
2022-05-12 14:15:23 +08:00
Alex Wang
ddd62202fb
make the preempt message per node compressible
2022-03-15 22:02:19 +08:00
Alex Wang
52275fc831
add preemption info in scheduling failed event
2022-02-01 00:37:16 +08:00
Jordan Liggitt
c0af728f43
Handle invalid selectors properly
2022-01-14 12:11:02 -05:00
Dave Chen
3af26bae2c
Refactor defaultpreemption for out-of-tree plugins
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-08-11 09:29:17 +08:00
Abdullah Gharaibeh
46f3e4dfdd
Define in-tree scheduler plugin names in separate pkg to break a cyclic depednecy when moving plugin defaulting to CC
2021-06-09 15:36:09 -04:00
Yuan Chen
fce28dbac9
Prevent scheduler crashing in default preemption
2021-05-04 19:30:11 -07:00
Konstantin Misyutin
74e30c5e38
Scheduler: remove pkg/features dependency from DefaultPreemption plugin
...
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-04-29 23:12:46 +08:00
Dave Chen
c6e65079c7
Validate plugin config for KubeSchedulerConfiguration
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-14 09:30:20 +08:00
caiweidong
850759ec87
Preempting: do not delete the victim if it just exits in WaitingPods
2021-03-23 14:37:36 +08:00
Kubernetes Prow Robot
d256468a09
Merge pull request #99644 from gavinfish/sched-param
...
Scheduler: make parallelism as part of schedulerOptions
2021-03-09 11:05:42 -08:00
Morten Torkildsen
21fba79d45
Promote PDBs to GA
2021-03-09 10:29:11 -05:00
drfish
c2ceb21a3e
Make parallelism as part of schedulerOptions
2021-03-09 23:25:55 +08:00
drfish
38ad860c2f
Unroll PreemptHandle to Handle
2021-02-27 00:44:05 +08:00
Kubernetes Prow Robot
1d02dfb79a
Merge pull request #99085 from gavinfish/jieshe/nominated-podinfo
...
Scheduler: Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo
2021-02-24 08:52:50 -08:00
drfish
bc2df9de72
Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo
2021-02-22 22:00:23 +08:00
Kubernetes Prow Robot
0b5dd00d03
Merge pull request #99119 from gavinfish/sched-preempt
...
Scheduler: let default preemption returns status instead of err
2021-02-19 20:49:41 -08:00
drfish
a1bfa0120e
Let default preemption returns status instead of err
2021-02-19 23:57:23 +08:00
tanjing2020
300d109d78
migrate to structured logging
2021-02-10 16:11:52 +08:00
Kubernetes Prow Robot
ebe7380b38
Merge pull request #98518 from tanjing2020/change-log
...
migrate default_preemption.go to structured logging
2021-02-03 19:54:28 -08:00
tanjing2020
e62cfa7cc4
migrate default_preemption.go to structured logging
2021-02-02 09:38:23 +08:00
Dave Chen
fe5a266a03
Include UnschedulableAndUnresolvable
nodes into the status map
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-02-01 10:49:43 +08:00
Dave Chen
9d48a44601
Expose node status so that external preemption plugins can use it
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-29 10:17:25 +08:00
Wei Huang
f8a6bdb044
Surface info of failed plugins during PerFilter and Filter
2021-01-28 12:20:42 -08:00
drfish
a6f2736032
Wrap errors from DefaultPreemption and InterPodAffinity plugins
2021-01-26 23:00:12 +08:00
drfish
8be6d9650c
Update potentialVictims as framework.PodInfo type
2021-01-24 22:17:28 +08:00
drfish
d4418c1402
Update the PreFilterExtensions interface to use PodInfo
2021-01-19 00:49:52 +08:00
Dave Chen
7315c1f6dd
Show the details on the failure of preemption
...
Since the filter status is missed for the phase of preemption, there
will be no way to tell why the preemption failed for some reasons, and
those reasons could be different with the status from the main scheduling
process (the first failed plugin will hide other failures in the chain).
This change provides verbose information based on the node status generated
during pod preemption, those information helps us to diagnose the issue which
is happened during pod preemption.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-15 23:20:17 +08:00
Kubernetes Prow Robot
974404757d
Merge pull request #96929 from gavinfish/sched-plugin-core
...
Scheduler: Move PodPassesFiltersOnNode out of core to avoid plugin dependency
2021-01-05 11:46:13 -08:00
drfish
070773c399
Remove scheduler plugins package's dependency from core package
2020-12-20 00:18:40 +08:00
Dave Chen
5144e2ec78
Remove the deprecated metrics from scheduler
...
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.
Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
Adhityaa Chandrasekar
a3d94b53ca
optimise defaultpreemption: enumerate fewer candidates
...
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-11-04 22:39:58 +00:00
Ali
09b2e8f638
Move scheduler interface to pkg/scheduler/framework
2020-10-13 13:13:27 +11:00
Jan Chaloupka
274c536da3
Removing GetPodPriority from pkg/api and importing PodPriority from k8s.io/component-helpers
2020-10-11 21:40:11 +02:00
SataQiu
8c51c9955c
wrap errors from DefaultPreemption, ImageLocality and NodeAffinity plugins
2020-09-25 10:38:27 +08:00
Arghya Sadhu
078b355da3
deprecate scheduler metrics BindingLatency and SchedulingAlgorithmPreemptionEvaluationDuration
2020-09-23 17:15:13 +05:30
Arghya Sadhu
c62f0dd165
removing deprecated scheduler metrics
2020-09-22 21:04:15 +05:30
Wei Huang
4f7ae54f3e
fixup: add podLister as a member field of DefaultPreemption
2020-09-08 18:27:23 -07:00
Wei Huang
52bf6ba8ba
Preemption plugin to fetch pod from informer cache
2020-09-08 18:27:23 -07:00
He Jie Xu
0e8bd4c550
Initialize candidate directly instead of iterating the array of candidates
...
Using existing victimsMap to get the victims, then it is easy to build candidate
directly.
2020-08-27 23:29:36 +08:00
Wei Huang
4e8ccf0187
Refactor and expose common preemption functions
2020-07-11 23:17:21 -07:00
Kubernetes Prow Robot
d06ff65943
Merge pull request #92876 from Huang-Wei/pdbLister
...
Add pdbLister as a member field of struct DefaultPreemption
2020-07-11 20:57:42 -07:00
Wei Huang
9d377eb655
Add pdbLister as a member field of struct DefaultPreemption
2020-07-07 12:25:53 -07:00
Dave Chen
028af0970f
Cut off the cost to run filter plugins when no victim pods are found
...
If no potential victims could be found, there is no need to evaluate the node
again, since its state didn't change.
It's safe to return and thus prevent scheduling from running the filter plugins
again.
NOTE:
A node that is filtered out by filter plugins could pass the filter plugins if
there is a change on that node, i.e. pods termination on that node.
Previously, this could be either caught by the normal `schedule` or `preempt` (pods
are terminated when the preemption logic tries to find the nodes and re-evaluate
the filter plugins.)
Actually, this shouldn't be taken care by the preemption, consider the routine
of `schedule` is always running when the interval is "zero", let `schedule`
take care of it will release `preempt` from something irrelevant with the `preemption`.
Due to above reason, couple of testcase as well as the logic of checking the existence
of victim pods are removed as it will never happen after the change.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-07 09:55:34 +08:00
He Jie Xu
b3741f344e
The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
...
If the Pod's previous nominated node is UnschedulableAndUnresolvable from previous
filtering, it should be considered for preemption again.
2020-07-03 08:57:45 +08:00
zhouya0
59f9a7d81e
Fix preemt function comment
2020-06-28 18:29:55 +08:00