Commit Graph

67 Commits

Author SHA1 Message Date
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
zouyee
d6b449b5c7 Move scheduler's SchedulerExtender interface to core/extenders.go
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2020-01-21 20:20:20 +08:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin 2020-01-16 19:10:43 -08:00
draveness
2c3c6721ce refactor(scheduling): remove priorities package 2020-01-10 09:05:39 +08:00
Aldo Culquicondor
bcab9b4c9e Remove uses of NodeInfoMap outside of snapshot and cache
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-09 10:04:11 -05:00
Wei Huang
64d7b224d9
Cleanup unused parameter of NewGenericScheduler 2020-01-03 11:42:39 -08:00
Wei Huang
1f78a936d4
Deprecate AlwaysCheckAllPredicates in scheduler Policy API 2019-12-20 11:41:33 -08:00
Abdullah Gharaibeh
770e51cd10 Deprecate PredicateMetadata 2019-12-17 08:02:59 -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
Abdullah Gharaibeh
f388534082 make scheduling queue start before the scheduler starts and stops after the scheduler stops 2019-12-02 14:35:09 -05:00
Aldo Culquicondor
6a98c93f3c Add MetadataProducerFactory for predicates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
draveness
3bb88356f4 feat(scheduler): remove deprecated pattern in scheduler priority 2019-11-07 22:43:07 +08:00
Kubernetes Prow Robot
916776c394
Merge pull request #84873 from ahg-g/ahg-equal
delete EqualPriority priority function, and make registering it a no op
2019-11-07 04:36:58 -08:00
Abdullah Gharaibeh
f3453a1842 delete EqualPriority priority function, and make registering it a no op 2019-11-06 13:59:32 -05:00
Abdullah Gharaibeh
6b4bd87ba3 Remove Framework dependency on nodeinfo snapshot 2019-11-06 08:37:57 -05:00
Wei Huang
c649666b4a
manual API changes and code refactoring
- add Policy API to pkg/scheduler/apis/config and staging/src/k8s.io/kube-scheduler/config/v1
- dual-register Policy as apiGroup "v1" and "kubescheduler.config.k8s.io
- move/merge pkg/scheduler/api to pkg/scheduler/apis/config/...
- alias schedulerapi to pkg/scheduler/apis/config
- alias legacyapi to pkg/scheduler/api
- eliminate latest.Codec; use scheme.Codecs instead
- unit tests to verify Policy YAML with version "v1" or "kubescheduler.config.k8s.io/v1" can be loaded properly
- update api/api-rules/violation_exceptions.list
2019-11-01 14:24:36 -07:00
Abdullah Gharaibeh
c6baa263a3 Update priorities to use SharedLister instead of using the snapshot directly 2019-10-29 16:22:00 -04:00
draveness
ce33fcc311 feat: remove FakePDBLister 2019-10-19 19:10:42 +08:00
draveness
47a6c5b693 feat(scheduler): use context in the scheduler package
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
Kubernetes Prow Robot
aee99ce807
Merge pull request #83558 from hprateek43/sortable_list_package
Move Sortable List into its own package
2019-10-12 11:40:38 -07:00
Harsh Singh
589656108e Replaced sortable list with native golang slice. 2019-10-12 21:57:28 +05:30
draveness
1f52bd80d1 feat(scheduler): expand node score range to [0, 100] 2019-10-11 23:43:09 +08:00
draveness
c73ff9749b feat(scheduler): rename PluginContext to CycleState 2019-10-04 17:30:36 +08:00
Wei Huang
cbdb4e3fdb
refactor scheduler extender related API
- move extender related API from pkg/scheduler/api to pkg/scheduler/apis/extender/v1

- alias extenderv1 to pkg/scheduler/apis/extender/v1

- use NodeScore and NodeScoreList in non-extender logic
2019-10-01 09:51:24 -07:00
Harsh Singh
6a9ef7f04f Move GetPodPriority from /scheduler/util to /api/pod 2019-09-24 22:02:13 +05:30
Kubernetes Prow Robot
e53a952fa4
Merge pull request #82283 from ahmad-diaa/fix-field-types-in-scheduler-api-types
Migrate scheduler api types to sized integers
2019-09-12 15:56:32 -07:00
Ahmad Diaa
801cc549be migrate scheduler api types to sized integers 2019-09-12 19:06:40 +02:00
Guoliang Wang
008f4e2ddc Take the context as the first argument of Schedule 2019-08-29 17:47:49 +08:00
Lee Verberne
cb03a332fd Add test for HTTPExtender.IsInterested 2019-08-23 17:07:34 +00:00
Shintaro Murakami
11f043c784 Remove algorithm.NodeLister from scheduler interface
Will fixup
2019-08-13 10:30:30 +09:00
Abdullah Gharaibeh
a61a437ef2 prefilter extension point implementation. 2019-06-10 17:01:50 -04:00
wangqingcan
52f3380ef3 change preempting to PreemptionPolicy 2019-05-31 12:42:05 +08:00
wangqingcan
5c9438c691 non-preempting-priorityclass
Co-authored-by: Vallery Lancey <vallery@zeitgeistlabs.io>
Co-authored-by: Tan shanshan <tan.shanshan@zte.com.cn>
2019-05-31 12:37:07 +08:00
JieJhih Jhang
2cd5fc54a1 add scheduling framework configuration
update bazel build

fix get plugin config method

initialize only needed plugins

fix unit test

fix import duplicate package

update bazel

add docstrings

add weight field to plugin

add plugin to v1alpha1

add plugins at appropriate extension points

remove todo statement

fix import package file path

set plugin json schema

add plugin unit test to option

initial plugin in test integration

initialize only needed plugins

update bazel

rename func

change plugins needed logic

remove v1 alias

change the comment

fix alias shorter

remove blank line

change docstrings

fix map bool to struct

add some docstrings

add unreserve plugin

fix docstrings

move variable inside the for loop

make if else statement cleaner

remove plugin config from reserve plugin unit test

add plugin config and reduce unnecessary options for unit test

update bazel

fix race condition

fix permit plugin integration

change plugins to be pointer

change weight to int32

fix package alias

initial queue sort plugin

rename unreserve plugin

redesign plugin struct

update docstrings

check queue sort plugin amount

fix error message

fix condition

change plugin struct

add disabled plugin for unit test

fix docstrings

handle nil plugin set
2019-05-18 06:30:28 +08:00
draveness
d60bccc6a4 feat: implement "queue-sort" extension point for scheduling framework 2019-05-15 09:40:15 +08:00
Bobby (Babak) Salamat
404dc1ed79 Update scheduler framework plugins to align with the latest changes to the framework design 2019-04-29 16:40:56 -07:00
Jun Gong
042b83ba73 Pick pods for preemption based on StartTime of pods when priorities are equal 2019-03-26 09:04:50 +08:00
Wei Huang
49346c1e04
shorten scheduler package alias for better readability
- schedulerinternalcache -> internalcache
2019-03-21 18:14:19 -07:00
sonasingh46
1fe7ce21bc refactor(scheduler): Move priority types to priorities package
This moves the priority types from the algorithm package
to priorities package.
Idea is to move the type to the packages where it is
implemented. This will ease the future refactor process.
2019-01-09 02:39:11 +05:30
Guoliang Wang
3e69638772 [scheduler] Modify the scheduling result struct and improve logging for successful binding 2019-01-03 11:00:35 +08:00
wangqingcan
b82a1d4600 Move predicate types from algorithm to predicates 2018-12-21 22:26:47 +08:00
wangqingcan
1081e919e3 Eclass Task 1: clean up old equiv class code
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Kubernetes Prow Robot
05183bffe5
Merge pull request #71872 from yuexiao-wang/scheduler-nodeinfo
[scheduler cleanup phase 2]: Rename `pkg/scheduler/cache` to `pkg/scheduler/nodeinfo`
2018-12-12 08:08:33 -08:00
yuexiao-wang
f3353c358d [scheduler cleanup phase 2]: Rename to
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:21:12 +08:00
Gregory Haynes
5e4ccede4c Reschedule with backoff
With the alpha scheduling queue we move pods from unschedulable to
active on certain events without a backoff. As a result we can cause
starvation issues if high priority pods are in the unschedulable queue.
Implement a backoff mechanism for pods being moved to active.

Closes #56721
2018-12-06 16:38:34 +00:00
Bobby (Babak) Salamat
f74b30868c Add plugin invocation for 'reserve' and 'prebind' plugins to the scheduler. 2018-11-30 16:03:47 -08:00
Jun Gong
9fc369dd0d Add debug info: scheduler extenders's score and its name for each pod 2018-11-08 13:02:57 +08:00
Guoliang Wang
187e2e01c9 Move scheduler cache interface and implementation to pkg/scheduler/internal/cache 2018-10-06 20:48:59 +08:00