Commit Graph

462 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
0b4cccc9d1 Merge pull request #82912 from ahg-g/ahg-prefilter-update
An interface that allows pre-filter plugins to update their pre-calculated status
2019-09-25 11:06:40 -07:00
Kubernetes Prow Robot
8ad1aba7f5 Merge pull request #82465 from hprateek43/MoveGetPodPriority
Move GetPodPriority from /scheduler/util to /api/pod
2019-09-25 11:06:00 -07:00
Abdullah Gharaibeh
37b9e6d1ea An interface that allows pre-filter plugins to update their pre-calculated.
This is needed to allow efficient preemption simulations: during preemption, we remove/add pods from each node before running the filter plugins again to evaluate whether removing/adding specific pods will allow the incoming pod to be scheduled on the node. Instead of calling prefilter again, we should allow the plugin to do incremental update to its pre-computed state.
2019-09-24 13:01:50 -04:00
Harsh Singh
6a9ef7f04f Move GetPodPriority from /scheduler/util to /api/pod 2019-09-24 22:02:13 +05:30
Kubernetes Prow Robot
40a8d9ebee Merge pull request #82735 from ahmad-diaa/remove-NewConfigFactory-compatibility-test
Improve Scheduler Compatibility Test
2019-09-20 16:17:37 -07:00
Ahmad Diaa
009ffaf803 validate scheduler policy instead of the decoded policy in compatibility_test 2019-09-20 21:42:12 +02:00
Abdullah Gharaibeh
89f936f6ac Modified the Filter interface to pass in nodeinfo instead of node name.
This is necessary to support preemption, which relies on passing modified nodeinfo objects to the filters to simulate evicting lower-priority pods.
2019-09-18 17:27:33 -04:00
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
Kubernetes Prow Robot
82f5531df3 Merge pull request #82119 from wgliang/fixbug/fix-scheudle-function-context
Take the context as the first argument of Schedule
2019-09-12 11:46:28 -07:00
Ahmad Diaa
801cc549be migrate scheduler api types to sized integers 2019-09-12 19:06:40 +02:00
Kubernetes Prow Robot
96201b5e57 Merge pull request #82156 from mrkm4ntr/fix-evaluated-nodes
Fix EvaluatedNodes in ScheduleResult
2019-09-11 22:52:39 -07:00
Kubernetes Prow Robot
02433e0a72 Merge pull request #82209 from yutedz/gen-sched-err
Handle pod addition / removal errors
2019-09-11 15:24:34 -07:00
Shintaro Murakami
bb94dfea1e Fix EvaluatedNodes in ScheduleResult 2019-09-11 22:01:25 +09:00
Kubernetes Prow Robot
7351f1acd7 Merge pull request #81777 from mrkm4ntr/remove-pod-lister
Remove unnecessary factory layer
2019-09-10 14:32:15 -07:00
Ted Yu
89a70fa407 Handle pod addition / removal errors 2019-09-06 16:25:11 -07:00
Guoliang Wang
d84a75c140 Fix filter plugins are not been called during preemption 2019-09-06 09:59:01 +08:00
Kubernetes Prow Robot
b33968972b Merge pull request #82034 from alculquicondor/feat/unschedulable_unresolvable
[Framework] Add UnschedulableAndUnresolvable status code
2019-08-30 11:20:57 -07:00
Guoliang Wang
008f4e2ddc Take the context as the first argument of Schedule 2019-08-29 17:47:49 +08:00
Aldo Culquicondor
3c1f8a8c4e [Framework] Add UnschedulableAndUnresolvable status code
The status can be used by (Pre)Filter plugins to indicate that
preemption wouldn't change the decision of the filter.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-08-28 10:10:47 -04:00
Kubernetes Prow Robot
e57bee7332 Merge pull request #81840 from draveness/feature/move-node-info-snapshot-to-framework
feat(scheduler): move node info snapshot out of internal package
2019-08-26 16:42:54 -07:00
Kubernetes Prow Robot
12e6930d8a Merge pull request #81842 from verb/range-scheduler
Add test for HTTPExtender.IsInterested
2019-08-25 15:48:20 -07:00
Shintaro Murakami
a0c93b10c9 Remove unnecessary factory layer 2019-08-24 08:08:30 +09:00
Kubernetes Prow Robot
4680ec8fde Merge pull request #81346 from mrkm4ntr/fits-on-node-fast-path
Add fast path to podFitsOnNode
2019-08-23 15:48:26 -07:00
Lee Verberne
cb03a332fd Add test for HTTPExtender.IsInterested 2019-08-23 17:07:34 +00:00
draveness
ffef11f768 feat(scheduler): move node info snapshot out of internal package 2019-08-23 22:32:16 +08:00
draveness
f3816fb757 feat: use PreFilter instead of Prefilter in the scheduling framework 2019-08-23 02:09:00 +08:00
Shintaro Murakami
acd82613ef Add fast path to podFitsOnNode
Add test
2019-08-22 17:21:00 +09:00
Kubernetes Prow Robot
90df64b75b Merge pull request #81614 from liu-cong/score-refactor
Move RunNormalizeScorePlugins and ApplyScoreWeights into RunScorePlugins; Also add unit tests for RunScorePlugins.
2019-08-21 10:37:29 -07:00
Cong Liu
e50a24d64c Move RunNormalizeScorePlugins and ApplyScoreWeights into RunScorePlugins; Also add unit tests for RunScorePlugins. 2019-08-20 13:18:32 -04:00
Wei Huang
8f559ea53b Optimize internal data structure of EvenPodsSpread
- Rename 'topologyPairsPodSpreadMap' to 'podSpreadCache'
- New struct `criticalPaths criticalPaths`
- Add unified method `*criticalPaths.update()` for:
    - regular update
    - addPod in preemption case
    - remotePod in preemption case
2019-08-20 09:26:41 -07:00
Kubernetes Prow Robot
1906650d92 Merge pull request #80901 from draveness/feature/use-map-instead-of-array
feat: use named array instead of array in normalizing score
2019-08-14 03:28:25 -07:00
Kubernetes Prow Robot
2ad2795136 Merge pull request #79641 from yqwang-ms/yqwang/fix-ds-crash
Fix default scheduler crash if scheduler extender filter returns a not found node
2019-08-14 02:08:37 -07:00
Yuqi Wang
5927ec4f8b Fix default scheduler crash if scheduler extender filter returns a not found node 2019-08-14 10:38:42 +08:00
Kubernetes Prow Robot
f3c94c9c42 Merge pull request #81151 from mrkm4ntr/remove-node-lister
Remove algorithm.NodeLister from scheduler interface
2019-08-13 12:29:55 -07:00
Shintaro Murakami
11f043c784 Remove algorithm.NodeLister from scheduler interface
Will fixup
2019-08-13 10:30:30 +09:00
draveness
aa5f9fda52 feat: use named array instead of score array in normalizing score 2019-08-08 08:19:49 +08:00
Wei Huang
b6b2838a95 Fix a racing issue in FakeFilterPlugin
Filter() is called simultaneously, so the member of its (fake) implementation
cannot be written without lock.

The issue can be triggered by:

go test k8s.io/kubernetes/pkg/scheduler/core --race --count=50
2019-08-07 10:33:44 -07:00
Joe Betz
46a04d50af Replace string concatination with trace fields 2019-08-05 12:18:57 -07:00
draveness
feb64858aa feat: implement "post-filter" extension point for scheduling framework 2019-08-02 10:12:54 +08:00
Kubernetes Prow Robot
aaad4c4afa Merge pull request #80533 from alculquicondor/refactor/find_nodes
Query nodes in Schedule only when there are no predicates
2019-08-01 13:38:28 -07:00
Kubernetes Prow Robot
ac1cde5577 Merge pull request #78009 from hainesc/develop
Use reservoir sampling to select one host from priority list
2019-08-01 00:52:15 -07:00
Cong Liu
34373662d3 Add NormalizeScore extension point for scheduler framework. 2019-07-30 20:02:13 -04:00
Aldo Culquicondor
e703226522 Optimize Schedule by querying nodes only when needed.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-07-25 08:24:05 -04:00
Wei Huang
2027525abf EvenPodsSpread: Preemption UT on generic_scheduler 2019-07-24 15:27:55 -07:00
Kubernetes Prow Robot
d83cf5f274 Merge pull request #77828 from Huang-Wei/eps-pred-core
Even Pods Spread - 3. Predicates Core
2019-07-24 15:19:52 -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
Wei Huang
b99fb9187b EvenPodsSpread: UT on genericScheduler.Schedule() 2019-07-24 10:28:46 -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
Youbing Li
7f9dd949e0 The implementation of Filter extension for the new framework 2019-07-17 03:28:30 -04:00
Abdullah Gharaibeh
c54c4d1962 Score plugin for the scheduling framework. 2019-07-16 09:38:37 -04:00