Abdullah Gharaibeh
265ef1741f
Move scheduler plugin set and configuration defaulting to component config
2021-06-16 10:15:29 -04:00
Abdullah Gharaibeh
6c0976814c
use ownerReference to build default spreading contraints in the scheduler
2021-05-25 16:04:48 -04:00
Wei Huang
6384f397b4
sched: support PreEnqueueChecks prior to moving Pods
2021-03-11 12:31:50 -08:00
Mengxue Zhang
b38caa91cc
make runtime.NewFramework accept KubeSchedulerProfile
2021-03-05 18:30:21 +00:00
Mengxue Zhang
7d1ab94b9a
remove useless pluginConfigs
2021-03-03 05:14:36 +00:00
Benjamin Elder
56e092e382
hack/update-bazel.sh
2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
838bb6a567
Merge pull request #98663 from gavinfish/sched-remove-plugin-pt
...
Scheduler: change config.Plugins from pointers to objects
2021-02-10 15:36:15 -08:00
drfish
74315f9c56
Change config.Plugins from pointers to objects
2021-02-10 23:45:59 +08:00
Yecheng Fu
9a2713503a
multiple extenders and UnschedulableAndUnresolvable takes precedence
...
over Unschedulable
2021-01-29 11:32:43 +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
Aldo Culquicondor
15d2ab1615
Fix labels for spreading benchmark
...
Nodes where being created with beta zone label, whereas the service was using stable.
Change-Id: I08ba1b6c083217759524236bde3888e527b4a44f
2020-10-21 15:51:44 -04: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
Kubernetes Prow Robot
a4103dfeaf
Merge pull request #92819 from chendave/cleanup_machine
...
Change the node name from "machine" to "node"
2020-08-27 19:06:57 -07:00
Yecheng Fu
1176ef9c7d
forget the pod when the reserve plugins fail
...
and move the metrics function calls before all other functions
2020-08-11 21:28:33 +08:00
Dave Chen
a1b2a7765d
Change the node name from "machine" to "node"
...
Latest change on master rename the node name from "machine" to "node"
but haven't update all the affected code, which causes some of testcases
invalid.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-10 10:17:58 +08:00
Abdullah Gharaibeh
c98dee4945
Return a FitError when PreFilter fails with unschedulable status
2020-07-06 15:02:07 -04: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
Wei Huang
7362fccdd7
Polish unit tests of defaultpreemptio plugin
2020-06-30 14:05:48 -07:00
Andrea Nodari
2e1042f959
Use NodeWrapper to directly initialize node with labels
...
Using NodeWrapper in the integration tests gives more flexibility when
creating nodes. For instance, tests can create nodes with labels or
with a specific sets of resources.
Also, NodeWrapper initialises a node with a capacity of 32 pods, which
can be overridden by the caller. This makes sure that a node is usable
as soon as it is created.
2020-06-30 17:18:15 +02:00
Adhityaa Chandrasekar
ec83143342
scheduler: merge Reserve and Unreserve plugins
...
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00:00
Ali Farah
a22e115a0e
Split scheduler framework implementation into new runtime package
2020-06-22 00:23:43 +10:00
Wei Huang
dd5db75840
Move scheduler fake artifacts to pkg/scheduler/testing
...
- move some fake artifacts from pkg/scheduler/core to pkg/scheduler/testing so it can be consumed
by core as well as plugin testings
2020-06-15 10:56:06 -07:00
Yecheng Fu
c14b749521
scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin
2020-05-12 10:13:05 +08:00
Aldo Culquicondor
07c4982245
Add unit and integration tests for multiple profiles support
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
skilxn-go
f5b7e3cca3
Rename PostFilter
plugin to PreScore
2020-02-12 23:25:08 +08:00
notpad
89066cceb9
Add RegisterPluginAsExtensionsWithWeight
2020-02-11 23:11:53 +08:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision
2020-02-06 07:38:50 -08:00
Aldo Culquicondor
4a5ab84dcc
Move default binding to a plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-22 14:13:33 -05:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin
2020-01-16 19:10:43 -08:00
Mike Dame
d227b7822f
Move selector spreading priority code to plugin
2020-01-08 13:37:37 -05:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin
2019-12-13 16:33:21 -08:00
Mike Dame
255ab6d2c3
Remove priority execution paths in favor of score plugins
...
Mainly affects core/generic_scheduler.go (and related tests). Removes the "prioritizers" field and related functions.
2019-12-12 19:30:44 -05:00
Wei Huang
dc3d1bd238
Eliminate running paths of Predicates in scheduler
...
- eliminate running paths of Predicates in scheduler; use Filter Plugins instead.
- refactor all unit tests
- adjust the TestPreemptWithPermitPlugin integration test
2019-12-10 19:14:13 -08:00
Aldo Culquicondor
75d5227225
Add benchmark test to compare EvenPodsSpreadPriority and SelectorSpreadPriority
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-04 13:29:17 -05:00
Abdullah Gharaibeh
d393804237
separate listers into their own package
2019-10-22 18:11:02 -04:00
draveness
ce33fcc311
feat: remove FakePDBLister
2019-10-19 19:10:42 +08:00
draveness
e1f86e3460
feat(scheduler): replace several algorithm listers with client listers
2019-10-19 17:26:32 +08:00
Abdullah Gharaibeh
e073e56095
move scheduler cache ListNodes interface to snapshot
2019-10-14 17:47:42 -04:00
Wei Huang
e85473c2df
Benchmark test for PodAffinity
2019-09-19 10:52:03 -07:00
Wei Huang
7f1a3965fd
Add Benchmark test for EvenPodsSpread predicate
...
- go test k8s.io/kubernetes/pkg/scheduler/algorithm/predicates -benchmem -run=^$ -bench .
2019-08-20 09:25:01 -07:00
Wei Huang
caab8b74ba
EvenPodsSpread: integration test
2019-08-01 10:42:27 -07:00
Kubernetes Prow Robot
cbae6ed036
Merge pull request #80220 from alculquicondor/refactor/scheduler-cache
...
Use scheduler cache in affinity priority functions
2019-07-24 13:50:06 -07:00
Aldo Culquicondor
f58abdf966
Use scheduler cache in affinity priority functions
...
Make the cache implement NodeLister and expose it to the priority
functions. This way, the priority functions make use of a single cache,
the scheduler's, instead of mixing it with the lister's caches.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-07-23 22:10:49 -04:00
Wei Huang
c23aef40f2
[eps-pred-meta] auto-gen files
2019-07-22 17:34:56 -07:00
Wei Huang
249752cc1f
fixup: fix comments and use a channel to pass err
2019-07-22 17:34:56 -07:00
Wei Huang
dce6686c9a
EvenPodsSpread: refactor "chained" utils
...
- move "chanined" utils to pkg/scheduler/testing/utils.go so as to be re-used by all scheduler tests
2019-07-22 17:34:56 -07:00
wangqingcan
000aa06912
Make scheduleinternalcache.PodFilter as public
2018-12-21 23:09:56 +08:00
Jonathan Basseri
b864a5a808
Remove scheduler "TestGroup" utility.
...
This util was used to fake certain aspects of apiserver behavior, such
as resource paths and JSON encoding. Our unit tests have been refactored
so they don't rely on the REST or JSON aspects of apiserver. This util
is no longer needed.
2018-12-03 16:28:21 -08:00
Guoliang Wang
558e1960b8
[scheduler cleanup phase 1]: Move FakeCache to pkg/scheduler/internal/cache/fake
2018-10-06 23:58:53 +08:00