Commit Graph

144 Commits

Author SHA1 Message Date
renyuquan
53ee08a40e fix scheduler queue update logic 2021-03-10 15:48:18 +08:00
Abdullah Gharaibeh
c7fef196b6 Implements pod affinity NamespaceSelector feature 2021-03-04 07:30:24 -05:00
Wei Huang
6fdb1a8439
sched: add a benchmark test for MoveAllToActiveOrBackoffQueue 2021-03-03 07:20:08 -08:00
Wei Huang
f322019d7a
Store a cluster event to plugin map in SchedulerQueue 2021-03-03 07:20:07 -08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
drfish
bc2df9de72 Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo 2021-02-22 22:00:23 +08:00
Kubernetes Prow Robot
320aaf4859
Merge pull request #98358 from tanjing2020/scheduling_queue.go
migrate scheduling_queue.go to structured logging
2021-02-19 00:20:24 -08:00
tanjing2020
d0eecbd0a9 migrate scheduling_queue.go to structured logging 2021-02-18 09:56:31 +08:00
Wei Huang
04a40d1f18
sched: remove Unknown queuing literal 2021-02-10 11:03:07 -08:00
Justin SB
8797738c02 Fix spelling typos: scheduable -> schedulable
Bulk fix of a common typo.
2021-01-09 12:59:33 -05:00
jinde.zgm
17b084938a
fix gofmt bug 2020-12-15 20:07:47 +08:00
jindezgm
5e6177897d
Refresh Timestamp when pod is not present in the three sub-queues
The pInfo.Timestamp is refreshed but the sort in activeQ or podBackoffQ is not be updated when pod  is already present in the backoff or active queue.
AddUnschedulableIfNotPresent() return error if pod is already present in the backoff or active queue, and there is no re-add.
So  refresh  pInfo.Timestamp when  the pod is not present in the three sub-queues, otherwise need to update the order of the pod in the active or backoff queue, for example p.activeQ.Update(pInfo)
2020-12-14 22:39:08 +08:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Dave Chen
4b2c054e59 Enhancement on the testcase to cover more possibilities
This change enriches the testcase of `TestPriorityQueue_MoveAllToActiveOrBackoffQueue`
to cover the case that pods in the unschedulableQ could be moved to activeQ after the
backing off.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-09-03 14:04:03 +08:00
Gaurav Singh
00f28747b3 TestSchedulingQueue_Close: Remove struct tests and the corresponding for loop
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

TestSchedulingQueue_Close: Remove for loop

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

remove the tests slice

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove struct

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove t.Run()

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Add function name

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove nested function

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Replace expectedErr with wantErr

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-06-11 11:19:14 -04:00
Wei Huang
f4b726237a
Add function NominatedPodsForNode to PodNominator interface.
- replace SchedulingQueue with PodNominator in genericScheduler.
2020-05-20 14:05:18 -07:00
Wei Huang
bd184035c4
Extract logic related with scheduler nominatedPods to an interface
- rename `UpdateNominatedPodForNode` to `AddNominatedPod`
- promote `update` to `UpdateNominatedPod`
- anonymous lock in nominatedMap
- pass PodNominator as an option to NewFramework
2020-05-18 10:29:08 -07:00
Kubernetes Prow Robot
d4ce66fe0b
Merge pull request #90660 from Huang-Wei/synced-sched-err-call
Move unschedulable Pod to internal schedulingQ synchronously
2020-05-16 19:00:06 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Wei Huang
133a02540f
Move unschedulable Pod to internal schedulingQ synchronously
- use in-cache Pod instead of real-time Pod (by calling API server) to mark it as unschedulable
  in internal schedulingQ
- remove the backoff logic as now we don't call API server
- the whole logic is changed to a synchronous call
2020-05-15 19:27:28 -07:00
Abdullah Gharaibeh
5e0211c72d Added pre-processed required affinity terms to scheduler's PodInfo type. 2020-05-14 10:30:42 -04:00
Wei Huang
8c2a540cdc
Refine schedulerQueue test to avoid unneeded locks
- revert PR 88331
- remove createAndRunPriorityQueue()
- PriorityQueue is created and not run by default
- flushXYZ() is called on demand by manipulating FakeClock and Step()
2020-05-05 00:11:04 -07:00
lixiang
5844bc3b9f There's no need to set moveRequestCycle and do broadcast twice. 2020-04-28 00:43:58 +08:00
Abdullah Gharaibeh
a151682887 Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo 2020-04-21 21:45:20 -04:00
Aldo Culquicondor
c048858471 Support multiple scheduling profiles in a single scheduler
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-25 11:31:20 -05:00
skilxn-go
74718adf10 fix data races for other usage of Q 2020-02-20 00:50:13 +08:00
skilxn-go
7e33feec57 fix data races in scheduler unit tests 2020-02-19 22:27:40 +08:00
Kubernetes Prow Robot
bde718d100
Merge pull request #87948 from notpad/feature/pod_backoff
Remove PodBackoffMap
2020-02-14 13:11:28 -08:00
notpad
a4e4a99435 Remove PodBackoffMap 2020-02-14 08:31:07 +08:00
Aldo Culquicondor
60c972098c Add defaults to pod affinity args
And remove pod affinity parameter from algorithm provider registry

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-03 14:58:28 -05:00
Aldo Culquicondor
9d2786c383 Fix back off when scheduling cycle is delayed
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 13:15:13 -05:00
Haosdent Huang
50d511d4b8 Deprecate scheduler's framework.plugins.RegistryArgs 2020-01-21 23:50:58 +08:00
Aldo Culquicondor
f53d7e55df Move Snapshot from nodeinfo/snapshot to internal/cache
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 13:29:41 -05:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin 2020-01-16 19:10:43 -08:00
Wei Huang
b2159b5d66
Remove scheduler/algorithm/priorities/util package 2020-01-09 20:16:05 -08:00
Kubernetes Prow Robot
edad4bbfc8
Merge pull request #86940 from skilxn-go/master
Add VolumeBinder to FrameworkHandle interface
2020-01-09 03:01:45 -08:00
skilxn-go
5def91d778 Add VolumeBinder to FrameworkHandle interface 2020-01-09 10:29:35 +08:00
Abdullah Gharaibeh
f3c7a4c823 Update scheduler's RunFilterPlugins to return a plugin to status map 2020-01-08 16:44:51 -05:00
caiweidong
02e217759e update comments of some funs in scheduling_queue 2020-01-02 23:35:12 +08:00
Abdullah Gharaibeh
429448cb40 move inter pod affinity predicate logic to its Filter plugin 2019-12-20 16:58:36 -05:00
Kubernetes Prow Robot
ca7ad98d60
Merge pull request #85470 from cwdsuzhou/add_pod_info
add pod info when failing to add pod to unschedulableQ
2019-12-03 18:35:10 -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
caiweidong
81afa77e3b add pod info when failing to add pod to queue 2019-11-22 11:07:31 +08:00
Alex Wang
83dce763ec add event to remove and reject waitingpods 2019-11-05 22:04:44 +08:00
Jun Gong
b4c2b00690 Make sure score plugins are executed when no priority configured 2019-10-29 17:25:35 +08:00
Abdullah Gharaibeh
8ec56aeafb Change all scheduler's Node and Pod list/lookups to be from the snapshot rather than the cache. 2019-10-25 14:24:55 -04:00
Abdullah Gharaibeh
373cf8c1b1 move nodeinfo/snapshot.go into its own package 2019-10-23 16:12:13 -04:00
draveness
39af760930 feat: several cleanups in the scheduling package
+ Remove unused variable in tests.
+ Use more common statement for interface conformance check.
+ Fix several comments in the framework plugins.
2019-10-18 11:14:05 +08:00
Kubernetes Prow Robot
3719fcdffa
Merge pull request #82072 from draveness/feature/use-context-instead-of-channel
feat(scheduler): use context in scheduler package
2019-10-17 01:46:39 -07:00