Commit Graph

536 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
784b0738b5
Merge pull request #92578 from zhouya0/fix_preemt_comment
Fix scheduler preemt function comment
2020-06-29 18:35:27 -07:00
zhouya0
59f9a7d81e Fix preemt function comment 2020-06-28 18:29:55 +08:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
ad29e168dc
Merge pull request #92108 from Huang-Wei/postfilter-impl-4
[postfilter-impl-4] Move Preempt() to defaultpreemption package.
2020-06-27 09:02:15 -07:00
Wei Huang
058e3d4258
Move Preempt() and its related functions to defaultpreemption package
Refactor genericScheduler and signature of preemption funcs
  - remove podNominator from genericScheduler
  - simplify signature of preemption functions

Make Preempt() private
2020-06-25 12:33:51 -07: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
Kubernetes Prow Robot
c6d2b223fb
Merge pull request #92222 from cofyc/fix92186
Share pod volume binding cache via framework.CycleState
2020-06-24 13:31:21 -07:00
Yecheng Fu
f899976b41 fixup 2020-06-24 14:14:03 +08:00
Yecheng Fu
22d874993c build files 2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be Share pod volume binding cache via framework.CycleState 2020-06-23 22:18:33 +08:00
Dave Chen
e1d61b621a Scheduler: remove the misleading comments in NodeResourcesBalancedAllocation
Signed-off-by: Dave Chen dave.chen@arm.com
2020-06-23 17:33:02 +08:00
Wei Huang
d99cc01646
Register and enable defaultpreemption plugin
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
5ed7b1afb8
Merge pull request #92012 from Huang-Wei/postfilter-impl-2
[postfilter-impl-2] Introduce a defaultpreemption PostFilter plugin
2020-06-19 21:51:42 -07:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Kubernetes Prow Robot
5968bc4653
Merge pull request #92247 from chendave/skiptopology
Skip `PreScore` when the `TopologySpreadConstraints` is specified
2020-06-19 11:37:44 -07:00
Wei Huang
196056d7fe
Introduce a defaultpreemption PostFilter plugin
- Add a defaultpreemption PostFilter plugin
- Make g.Preempt() stateless
    - make g.Preempt() stateless
    - make g.getLowerPriorityNominatedPods() stateless
    - make g.processPreemptionWithExtenders() stateless
2020-06-19 09:13:55 -07:00
Shintaro Murakami
79ab958996 Revert assumed PVs and PVCs in unreserve extension point 2020-06-19 17:39:42 +09:00
Dave Chen
068c69d743 Skip PreScore when the TopologySpreadConstraints is specified
`DefaultPodTopologySpread` need't score when the `TopologySpreadConstraints`
is specified.

`PreScore` needn't do this as well, this cut off the cost of `PreScore` if
possible.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-18 18:01:56 +08:00
Dave Chen
9ebd872e71 Explicitly declare the interfaces for extension points
This make it easier to catch the issue during the compilation, also,
this also align with other plugins, i.e. plugin of "InterPodAffinity".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-17 15:11:44 +08:00
Dave Chen
8f0c329758 cleanup: update invalid comments in plugin of InterPodAffinity
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 14:11:59 +08:00
Yecheng Fu
814a6f2acd remove FakeVolumeBinderConfig and test new statues and states 2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Kubernetes Prow Robot
5372e017b6
Merge pull request #92003 from mattcary/format-plugins
Remove warning about misuse of %w
2020-06-10 22:44:02 -07:00
Matthew Cary
ee9e6a3bcc Remove warning about misuse of %w 2020-06-10 14:58:55 -07:00
Kubernetes Prow Robot
418c2cbb45
Merge pull request #91918 from alculquicondor/new_max_skew
Use maxSkew in PodTopologySpread scoring as tolerance to skew
2020-06-10 04:40:21 -07:00
Wen Gao
b21b298074 add arg for noderesourcesfit plugin to support ignore a group of extended resources 2020-06-10 10:52:54 +08:00
Kubernetes Prow Robot
1cbb5d1e51
Merge pull request #91894 from chendave/podaffinity_comments
Fix the incorrect error message of `InterPodAffinity` plugin
2020-06-08 21:44:45 -07:00
Kubernetes Prow Robot
de1a277185
Merge pull request #91735 from gpldirk/tps-comment
fix minor comment in podtopologyspread scoring test
2020-06-08 21:43:48 -07:00
Aldo Culquicondor
d353cc1532 Use maxSkew in PodTopologySpread scoring as tolerance to skew
This new approach results in better spreading for small number of pods, while still giving meaning to the maxSkew parameter.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-08 16:25:59 -04:00
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Dave Chen
02fb3387a0 Fix the incorrect error message of InterPodAffinity plugin
A line of copy/paste code firstly from the method named `buildTopologyPairToScore`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-08 16:39:19 +08:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
gpldirk
6a26f76add fix minor comment in podtopologyspread scoring test 2020-06-03 16:03:10 +00:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Kubernetes Prow Robot
413bc1a1d2
Merge pull request #91138 from chendave/imagelocality
Define the thresholds per the size of container images
2020-05-31 16:17:53 -07:00
Dave Chen
42fbb1d72f Define the thresholds per the size of container images
Given the assumption that 90% of images on dockerhub drops into this range (23~1000)MB,
this assumption is based on the container images instead of the pod.

pod might hold multiple container images, it's better to multiply the assumption by the size
of container images.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-30 20:57:50 +08:00
Wei Huang
1837b49554
Scheduler PostFilter API 2020-05-29 18:18:00 -07:00
Dave Chen
649523ce91 cleanup: remove useless methods
`BuildArgs` is not used anywhere and the `args` can be directly got from
the instance instead of defining a method to do that.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-29 10:41:54 +08:00
Rafal Wicha
3ffd71c4a2 Move Node Resources scheduler plugin args validation to apis/config/validation 2020-05-26 22:37:16 +01:00
Rafal Wicha
85be9c1673 Move Scheduler plugin args validation to apis/config/validation 2020-05-25 16:27:21 +01:00
Dave Chen
84915d1623 Expose the issue that max threshold haven't considered container size
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-25 17:31:47 +08:00
Kubernetes Prow Robot
4310732c55
Merge pull request #91102 from chendave/capacity_ratio
Move `RequestedToCapacityRatio` Args defaults to versioned packages
2020-05-19 20:35:20 -07:00
Abdullah Gharaibeh
4ff554ba83 Eliminate locking in (anti)affinity calculations 2020-05-18 22:37:37 -04:00
Kubernetes Prow Robot
9eb097c4b0
Merge pull request #91168 from ahg-g/ahg-affinity5
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 16:29:51 -07:00
Abdullah Gharaibeh
5d2c05408d First pod with affinity can schedule only on nodes with matching topology keys 2020-05-18 15:15:09 -04:00
Dave Chen
838a0a8c03 Move RequestedToCapacityRatio Args defaults to versioned packages
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-18 14:19:39 +08:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
7f0c05b909
Merge pull request #90544 from chendave/weight
configurable weight on the CPU and memory
2020-05-16 07:36:30 -07:00
Kubernetes Prow Robot
9769e0f5da
Merge pull request #90008 from gavinfish/scheduler-utilparsers
Scheduler: remove direct import to /pkg/util/parsers
2020-05-16 07:35:49 -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
Dave Chen
621c73b984 Configurable weight on the CPU and memory
This change also make it possible to score the resources beyond the "cpu"
and "memory" which is currently listed in "defaultRequestedRatioResources".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-15 22:26:30 +08:00
Abdullah Gharaibeh
087839daf7 Added pre-processed preferred affinity terms to scheduler's PodInfo type. 2020-05-15 09:00:56 -04:00
Kubernetes Prow Robot
71277de4d6
Merge pull request #91069 from alculquicondor/bind_ctx
Use passed context in default binder
2020-05-15 02:49:28 -07:00
Kubernetes Prow Robot
c453be845a
Merge pull request #91062 from ahg-g/ahg-affinity1
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-15 02:49:07 -07:00
Kubernetes Prow Robot
95e598586e
Merge pull request #91016 from chendave/nits
Fix nits in comments for NodeResources plugins
2020-05-15 02:48:02 -07:00
Abdullah Gharaibeh
5e0211c72d Added pre-processed required affinity terms to scheduler's PodInfo type. 2020-05-14 10:30:42 -04:00
Dave Chen
6b9fb2c591 Fix nits in comments for NodeResources plugins 2020-05-14 18:45:59 +08:00
Aldo Culquicondor
78fca663ce Use passed context in default binder
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-13 11:36:14 -04:00
Yecheng Fu
85a8740d9b scheduler/volumebinding: auto-generated files only 2020-05-12 10:13:06 +08:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Kubernetes Prow Robot
e6e29fbbc3
Merge pull request #90820 from alculquicondor/score-max-skew
Use maxSkew in score calculation
2020-05-08 18:28:19 -07:00
Aldo Culquicondor
516c8fbfad Use maxSkew in score calculation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-08 09:34:45 -04:00
Aldo Culquicondor
2935480cc8 Move Plugin Args defaults to versioned packages
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-06 18:00:23 -04:00
Kubernetes Prow Robot
594cbdfd19
Merge pull request #89508 from KobayashiD27/test-coverage-up
Add test case to improve the test coverage.
2020-05-01 13:00:31 -07:00
Kubernetes Prow Robot
ba43630708
Merge pull request #90475 from alculquicondor/topology-scoring
Topology spreading scoring with automatically weighted topologies
2020-05-01 00:40:04 -07:00
Kubernetes Prow Robot
8dd93ca94c
Merge pull request #90309 from alculquicondor/plugin-args-decoding
Use internal config types in scheduling plugin args
2020-04-30 05:32:18 -07:00
Kubernetes Prow Robot
863ce9726e
Merge pull request #90295 from tanjunchen/pkg/scheduler/framework/plugins/-20200420
pkg/scheduler/framework/plugins/:fix unconsistent comments and make log more clear
2020-04-29 18:30:18 -07:00
Aldo Culquicondor
98d1e241f1 Use internal config types in scheduling plugin args
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:07:10 -04:00
Aldo Culquicondor
1aaa5fcc80 Topology scoring with dynamically weighted topologies
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 09:55:52 -04:00
Aldo Culquicondor
a9461fe6f5 spreading: Store ignored instead of qualifying nodes
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-27 13:18:34 -04:00
drfish
0b715ea690 Scheduler: remove direct import to /pkg/util/parsers 2020-04-26 23:41:52 +08:00
Kubernetes Prow Robot
277f7614ea
Merge pull request #90203 from tanjunchen/remove-repeat-test-sche
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-24 12:15:20 -07:00
tanjunchen
0e38ba0ef6 pkg/scheduler/framework/:fix unconsistent comments and make log more clear 2020-04-24 11:17:11 +08:00
Kubernetes Prow Robot
b850b5ce2e
Merge pull request #89222 from fengzixu/master
bugfix: initcontainer is also taken into account when calculating resource requests
2020-04-23 00:45:44 -07:00
Abdullah Gharaibeh
57585640e8 change scheduler's framework PodLister to PodInfoLister 2020-04-22 19:25:27 -04:00
fengzixu
d54822d193 bugfix: initcontainer wasn't considered when calculate resource request 2020-04-23 02:08:33 +09:00
Abdullah Gharaibeh
a151682887 Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo 2020-04-21 21:45:20 -04:00
Gaurav Singh
31afb24244 [Scheduler] Map deletion complexity: log(n) => O(1) 2020-04-19 11:31:55 -04:00
tanjunchen
6180d701cc /pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example 2020-04-17 09:24:45 +08:00
Rafal Wicha
b511fa8627 Add PodTopologySpread plugin arg types to kube-scheduler.config.k8s.io 2020-04-16 16:26:27 +01:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Aldo Culquicondor
ce05382b58 Use RawExtension and Object for external and internal scheduling plugin args, respectively
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-14 13:44:42 -04:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Abdullah Gharaibeh
2c51c13620 Scheduler NodeInfo cleanup 2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Rafał Wicha
c4d20ca8a8 Add types for Scheduler plugin args to kube-scheduler.config.k8s.io 2020-04-08 20:23:56 +01:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Harsh Singh
015d06bf41 Internal channels for scheduler 2020-04-04 02:30:16 +05:30
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Aldo Culquicondor
93fc02cf54 Set initial map size
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:34 -04:00
Aldo Culquicondor
65d9f81758 Replace lock with atomic updates in spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:32 -04:00
Aldo Culquicondor
275da7afc0 Benchmark for topology spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:12:22 -04:00
Kubernetes Prow Robot
59c66dab8c
Merge pull request #89487 from alculquicondor/per_node_spreading
Optimize preferred spreading for hostname topology
2020-03-30 08:21:54 -07:00
Aldo Culquicondor
d2b1903149 Calculate scores in parallel on spreading benchmarks
This is closer to what happens in the core scheduler

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:33:50 -04:00
Kubernetes Prow Robot
894916b665
Merge pull request #89459 from chendave/scorer_desc
Trival fix: update the desc on the score plugins
2020-03-26 07:56:39 -07:00
Kobayashi Daisuke
9d6235c54e Add test case to improve the test coverage. 2020-03-26 17:34:38 +09:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10 2020-03-25 10:46:28 -07:00
Aldo Culquicondor
4b31b55499 Count spreading node matches for hostname topology in Score 2020-03-25 13:29:27 -04:00
Kubernetes Prow Robot
d00f9c7c10
Merge pull request #89338 from skilxn-go/AddCompatibilityTestForPluginArgs
Add compatibility tests for plugin arguments
2020-03-25 08:49:03 -07:00
Dave Chen
4ab7be43ce Trival fix: update the desc on the score plugins
For whatever the reason, the max score has been updated from "10"
to "100"
2020-03-25 12:09:09 +08:00
Kubernetes Prow Robot
c58a3757cb
Merge pull request #89365 from notpad/feature/zone_label_ga
Add check for volume zone GA labels
2020-03-24 15:27:34 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Aldo Culquicondor
36efa035e2 Add chunk size option to ParallelizeUntil
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-24 10:29:59 -04:00
skilxn-go
e0adb0ead9 Add compatibility tests for plugin config 2020-03-24 22:17:16 +08:00
notpad
98405a8bd9 Add check for volume zone GA labels 2020-03-24 21:11:25 +08:00
Kubernetes Prow Robot
fe2fdcd695
Merge pull request #89162 from alculquicondor/affinity-less-lock
Reduce locking when calculating affinity scores
2020-03-19 15:04:35 -07:00
Aldo Culquicondor
d0dc178ab8 Reduce locking when calculating affinity scores
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-17 15:46:01 -04:00
notpad
a043bc438d Fix comments 2020-03-16 11:58:27 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Aldo Culquicondor
73ad38593a Add default constraints to PodTopologySpread
And update benchmark for even pod spreading to use default constraints

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Rafal Wicha
09598d48f6 Improve plugin args JSON tags 2020-03-02 15:20:44 +00:00
louisgong
c6b94e4606 refactor volume binder 2020-02-29 12:03:39 +08:00
Kubernetes Prow Robot
901a884c71
Merge pull request #88338 from egernst/PodOverhead-beta
Upgrade PodOverhead to beta
2020-02-28 15:12:40 -08:00
Patrick Ohly
6329b17d2f volume scheduler: introduce special string type
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac volume scheduler: move reason strings into volume code
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.

This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01:00
Eric Ernst
991909fdfb PodOverhead: remove feature gate override in tests
PodOverhead is now a beta feature and set to true by default. No need to
override to true during testing.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-27 17:27:06 +00:00
Aldo Culquicondor
fd5b298c50 Test PodTopologySpread.PreScore instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:25:01 -05:00
Aldo Culquicondor
0e46803e77 Test PodTopologySpread.PreFilter instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:17:17 -05:00
Aldo Culquicondor
c8377ef7db Add BuildArgs to interpodaffinity plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-18 09:55:06 -05:00
skilxn-go
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
Aldo Culquicondor
99bda6fac0 Remove HardPodAffinityWeight from v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
Aldo Culquicondor
666bc6aeb4 Scheduler: Exclude plugin config for empty policy arguments
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:11:47 -05:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
notpad
fb895056c6 Add test 2020-02-11 16:51:21 +08:00
notpad
a7057f8df0 Cleanup "slow-path" logic in scheduler Filters 2020-02-10 22:48:49 +08:00
Kubernetes Prow Robot
7cfa396e7c
Merge pull request #87725 from alculquicondor/rm_affinity_weight
Add defaults to pod affinity args
2020-02-07 12:32:17 -08:00
Kubernetes Prow Robot
fc6f878a65
Merge pull request #87845 from Huang-Wei/pts-exclude-terminating-pods
PodTopologySpread plugin now excludes terminatingPods
2020-02-07 00:08:20 -08:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision 2020-02-06 07:38:50 -08:00
Abdullah Gharaibeh
0a476eb7d4 reduce overhead of error message formatting and allocation for scheudler NodeResource filter 2020-02-04 11:02:29 -05: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
skilxn-go
a4d1624fec Skip default spreading scoring plugin for pods that define TopologySpreadConstraints 2020-01-28 22:25:03 +08:00
Kubernetes Prow Robot
2cd685a020
Merge pull request #87250 from starizard/adding-taint-toleration-error-reasons
Adding taint toleration error reasons
2020-01-25 01:23:01 -08:00
Shawn Rebello
22bd26fefb Adding taint toleration error reasons 2020-01-24 02:50:55 +05:30
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
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
Abdullah Gharaibeh
fb66e807cd Remove scheduler framework dependency on predicates package 2020-01-13 13:02:31 -05:00
Kubernetes Prow Robot
dc2099ea11
Merge pull request #87055 from denkensk/clean-unused-predicate-error
Cleanup unused predicate error types.
2020-01-10 12:25:16 -08:00
Kubernetes Prow Robot
942b526e5c
Merge pull request #87051 from Huang-Wei/remove-prio-util-pkg
Remove scheduler/algorithm/priorities/util package
2020-01-10 12:25:01 -08:00
Kubernetes Prow Robot
9269b5d430
Merge pull request #87014 from notpad/fix/comments
Fix comment
2020-01-09 21:58:55 -08:00
Alex Wang
0bab010b45 clean unused predicate error 2020-01-10 13:06:29 +08:00
Wei Huang
b2159b5d66
Remove scheduler/algorithm/priorities/util package 2020-01-09 20:16:05 -08:00
draveness
2c3c6721ce refactor(scheduling): remove priorities package 2020-01-10 09:05:39 +08:00
Kubernetes Prow Robot
e648e944e0
Merge pull request #86848 from haosdent/clean-filter-deps-nodeunschedulable
Break nodeunschedulable Filter plugins dependency on predicates package
2020-01-09 16:10:34 -08:00
Kubernetes Prow Robot
aef336d712
Merge pull request #86999 from draveness/feature/remove-ErrTopologySpreadConstraintsNotMatch
fix: remove ErrTopologySpreadConstraintsNotMatch
2020-01-09 13:29:42 -08:00
Kubernetes Prow Robot
eedf1945b5
Merge pull request #86998 from denkensk/rm-errserviceaffinityviolated
Remove ErrServiceAffinityViolated scheduler predicate error
2020-01-09 11:33:42 -08:00
Kubernetes Prow Robot
407b29fa05
Merge pull request #86981 from alculquicondor/fix/node_info_list_2
Remove uses of NodeInfoMap outside of snapshot and cache
2020-01-09 11:33:31 -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
Kubernetes Prow Robot
32d8799ef1
Merge pull request #86979 from ahg-g/ahg-cleanup2
Move TaintToleration predicate to its plugin
2020-01-09 06:53:45 -08:00
Abdullah Gharaibeh
50b697bacb move TaintToleration predicate to its plugin 2020-01-09 08:14:53 -05:00
notpad
228891de9c Fix comment 2020-01-09 20:06:56 +08:00
draveness
0278d793c8 fix: remove ErrTopologySpreadConstraintsNotMatch 2020-01-09 16:01:13 +08:00
Alex Wang
80127fe10f rm errserviceaffinityviolated 2020-01-09 15:08:59 +08:00
Haosdent Huang
864600f05f Break nodeunschedulable Filter plugins dependency on predicates package 2020-01-09 14:54:28 +08:00
Kubernetes Prow Robot
2c800c5a70
Merge pull request #86985 from ahg-g/ahg-cleanup4
Remove test/integration dependency on predicates and algorithmprovider
2020-01-08 21:29:58 -08:00
Kubernetes Prow Robot
4d41f4809f
Merge pull request #86890 from damemi/move-selector-spread-to-plugin
Move selector spreading priority code to plugin
2020-01-08 21:29:45 -08:00
Kubernetes Prow Robot
b3c94d3fb9
Merge pull request #86966 from bharaththiruveedula/master
Fix interpodaffinity issue
2020-01-08 19:12:20 -08:00
Kubernetes Prow Robot
4d95d40a41
Merge pull request #86836 from haosdent/clean-filter-deps-interpodaffinity
Break interpodaffinity Filter plugins dependency on predicates package
2020-01-08 19:11:53 -08:00
Abdullah Gharaibeh
c86f59610c remove test/integration dependency on predicates and algorithmprovider 2020-01-08 19:51:22 -05:00
Bharath Thiruveedula
8e3c1b54a7 Fix interpodaffinity issue
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
2020-01-09 01:18:49 +05:30
Mike Dame
d227b7822f Move selector spreading priority code to plugin 2020-01-08 13:37:37 -05:00
Kubernetes Prow Robot
b34c96b62c
Merge pull request #86764 from haosdent/migrate-servie-affinity
Break serviceaffinity Filter plugins dependency on predicates package
2020-01-08 08:47:39 -08:00
Haosdent Huang
a1053e4835 Break interpodaffinity Filter plugins dependency on predicates package 2020-01-08 14:37:51 +08:00
Kubernetes Prow Robot
99600ae9a7
Merge pull request #86852 from haosdent/clean-filter-deps-volumezone
Break volumezone Filter plugins dependency on predicates package
2020-01-07 14:08:55 -08:00
Kubernetes Prow Robot
c867fdbc1c
Merge pull request #86847 from haosdent/clean-filter-deps-nodelabel
Break nodelabel Filter plugins dependency on predicates package
2020-01-07 14:08:46 -08:00
Kubernetes Prow Robot
c7af1da206
Merge pull request #86913 from ahg-g/ahg-nodelimit
fix a bug in scheduler's node resource limits score
2020-01-07 12:34:25 -08:00
Abdullah Gharaibeh
e26fbe6f08 fix a bug in scheduler's node resource limits score 2020-01-07 13:43:44 -05:00
Kubernetes Prow Robot
d4d3d4b55e
Merge pull request #86875 from ahg-g/ahg1-cleanup
Move RequestedToCapacityRatio argument processing to its plugin
2020-01-07 10:14:42 -08:00
Kubernetes Prow Robot
dc084fe131
Merge pull request #86849 from haosdent/clean-filter-deps-nodevolumelimits
Break nodevolumelimits Filter plugins dependency on predicates package
2020-01-07 10:14:33 -08:00
Haosdent Huang
320c9bfeed Break volumezone Filter plugins dependency on predicates package 2020-01-08 01:03:01 +08:00
Haosdent Huang
6a82609902 Break serviceaffinity Filter plugins dependency on predicates package 2020-01-07 22:43:37 +08:00
Haosdent Huang
4ef31f81c7 Break nodelabel Filter plugins dependency on predicates package 2020-01-07 16:37:52 +08:00
Abdullah Gharaibeh
729c37373a Remove unused scheduler types 2020-01-06 21:19:42 -05:00
Kubernetes Prow Robot
e7c79050b4
Merge pull request #86718 from ahg-g/ahg1-err
Copy nodeaffinity predicate to its filter plugin
2020-01-06 18:06:46 -08:00
Abdullah Gharaibeh
4e67476867 move nodeaffinity predicate to its filter plugin 2020-01-06 13:22:51 -05:00
Abdullah Gharaibeh
b9e2389e0d Move RequestedToCapacityRatio argument processing to its plugin 2020-01-06 11:54:09 -05:00
Haosdent Huang
9bcca31e52 Break volumerestrictions Filter plugins dependency on predicates package 2020-01-06 02:59:47 +08:00
Haosdent Huang
aae9a7f704 Break nodevolumelimits Filter plugins dependency on predicates package 2020-01-06 02:30:40 +08:00
Kubernetes Prow Robot
2d56d75061
Merge pull request #86730 from ahg-g/ahg1-ds
Break DS controller dependency on scheduler predicates and predicate errors
2020-01-04 14:39:40 -08:00
Haosdent Huang
d27dc6751e Break volumebinding Filter plugins dependency on predicates package 2020-01-05 01:37:22 +08:00
Abdullah Gharaibeh
7d604c318c Break DS controller on scheduler predicates and predicate errors 2020-01-03 13:05:07 -05:00
Abdullah Gharaibeh
b535ed3b0c Merge scheduler's ConfigProducerRegistry into LegacyRegistry 2020-01-02 16:40:33 -05:00
Abdullah Gharaibeh
a6b7b0d95e Define algorithm providers in terms of plugins. 2019-12-31 15:28:09 -05:00
notpad
7f79516705 Move resource-based priority functions to their Score plugins 2019-12-31 23:50:11 +08:00
Wei Huang
78352240f6
Move podtopologyspread priority logic to its Score plugin 2019-12-28 19:29:37 -08:00
Kubernetes Prow Robot
f796b750c6
Merge pull request #86681 from Huang-Wei/interpodaffinity-typo
Fix a typo in interpodaffinity score plugin
2019-12-28 08:23:38 -08:00
Wei Huang
b3bebddb30
Fix a typo in interpodaffinity score plugin 2019-12-27 20:23:28 -08:00
draveness
320ac4e277 feat(scheduling): implement azure, cinder, ebs and gce as filter plugin 2019-12-28 11:46:40 +08:00
Kubernetes Prow Robot
0387ee4244
Merge pull request #86625 from zouyee/cnu
Move CheckNodeUnschedulable predicate to its filter plugin
2019-12-27 09:27:39 -08:00
Kubernetes Prow Robot
429ad7db4f
Merge pull request #86659 from Huang-Wei/eps-move-pred
Move pod topology spread predicate logic to its filter plugin
2019-12-27 07:53:38 -08:00
Kubernetes Prow Robot
b52cdca17d
Merge pull request #86638 from danielqsj/ServiceAntiAffinityPriority
Move ServiceAntiAffinityPriority to score plugin
2019-12-27 04:05:38 -08:00
Wei Huang
8a4dce5431
Move pod topology spread predicate logic to its filter plugin 2019-12-26 23:56:03 -08:00
danielqsj
f53c81f4a2 Move ServiceAntiAffinityPriority to score plugin 2019-12-27 10:02:13 +08:00
draveness
291a7bb164 feat(scheduling): move csi volume predicates to csi filter plugin 2019-12-27 09:14:35 +08:00
zouyee
89867e1c21 Move CheckNodeUnschedulable predicate to its filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:38:27 +08:00
zouyee
c4331b0369 Move VolumeZone predicate to its Filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:36:11 +08:00
Kubernetes Prow Robot
c84b1a8a10
Merge pull request #86601 from angao/no-disk-conflict
move NoDiskConflict predicate to its filter plugin
2019-12-25 15:27:38 -08:00
Kubernetes Prow Robot
bd1195c28e
Merge pull request #86580 from zouyee/rlp
Move ResourceLimitsPriority to its Score plugin
2019-12-25 07:39:38 -08:00
Alex Wang
e5168cc7bb move nodepreferavoidpods to score plugin 2019-12-25 17:26:58 +08:00
zouyee
bf2b709e82 Move ResourceLimitsPriority to its Score plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-25 16:41:40 +08:00
Kubernetes Prow Robot
26253903b5
Merge pull request #86595 from draveness/feature/move-node-affinity-to-score-plugin
feat: implement node affinity priority as score plugin
2019-12-25 00:01:43 -08:00
Wen Gao
e5d90c57f0 move NoDiskConflict predicate to its filter plugin 2019-12-25 15:44:59 +08:00
notpad
c33c4fffd1 Move RequestedToCapacityRatio to plugins/noderesources 2019-12-25 12:18:32 +08:00
draveness
75872b8e79 feat: implement node affinity priority as score plugin
+ Add DefaultNormalizeScore function
+ Implement NodeAffinity as score plugin
2019-12-25 10:53:35 +08:00
Abdullah Gharaibeh
fe7de96ebe cleanup scheduler's in-tree plugins registry naming 2019-12-24 15:56:36 -05:00
Kubernetes Prow Robot
24469a3692
Merge pull request #86585 from SataQiu/scheduler-taint-toleration
"Move Taint and toleration priority to its Score plugin"
2019-12-24 11:43:29 -08:00
Kubernetes Prow Robot
175ee0a111
Merge pull request #86542 from zouyee/nodeinfocheck
introduce checker for  the result of nodeInfo.Node()
2019-12-24 03:23:29 -08:00
SataQiu
21c916c3d2 move Taint and toleration predicate to its Score plugin 2019-12-24 19:22:12 +08:00
Kubernetes Prow Robot
39d0710a4b
Merge pull request #86530 from zouyee/vbb
Move volumebinding predicate to its filter plugin
2019-12-23 22:05:29 -08:00
zouyee
bf8a8a657c introduce checker for the result of nodeInfo.Node()
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-24 09:11:40 +08:00
draveness
3f591bb2dd feat: implement image locality as score plugin 2019-12-23 23:05:23 +08:00
zouyee
83408acf75 Move volumebinding predicate to its filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-23 21:57:49 +08:00
Kubernetes Prow Robot
8737890681
Merge pull request #86459 from ahg-g/ahg1-affinity-pred
move inter pod affinity predicate logic to its Filter plugin
2019-12-20 18:28:08 -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
b632eaddba
Merge pull request #86446 from ahg-g/ahg1-nodelabel
Move NodeLabel priority logic to its Score and Filter plugin
2019-12-19 15:37:21 -08:00
Kubernetes Prow Robot
641d0290e4
Merge pull request #86399 from ahg-g/ahg1-prioritymeta
InterPodAffinity Priority as Score plugin
2019-12-19 13:39:56 -08:00
Abdullah Gharaibeh
68f3802ba8 move NodeLabel predicate logic to its Filter plugin 2019-12-19 14:00:39 -05:00
Abdullah Gharaibeh
119a9a94d1 InterPodAffinity Priority as Score plugin 2019-12-19 13:42:49 -05:00
Abdullah Gharaibeh
22a0f55a68 move NodeLabel priority logic to its Score plugin 2019-12-19 13:35:43 -05:00
Kubernetes Prow Robot
9fad2e3201
Merge pull request #84611 from cwdsuzhou/Nov/simplyfy_zone_checker
Simplify volume zone checker codes
2019-12-19 08:09:57 -08:00
Kubernetes Prow Robot
77c565025a
Merge pull request #86289 from ahg-g/ahg1-metadata
Deprecate PredicateMetadata
2019-12-17 23:42:10 -08:00
Abdullah Gharaibeh
770e51cd10 Deprecate PredicateMetadata 2019-12-17 08:02:59 -05:00
Abdullah Gharaibeh
b3abfdc9e4 registered nodeports and noderesources prefilters 2019-12-17 07:29:37 -05:00
Kubernetes Prow Robot
d2c5d0ae70
Merge pull request #86264 from ahg-g/ahg1-svcmeta
Move service affinity predicate logic to its plugin.
2019-12-16 21:39:39 -08:00
Jacek Kaniuk
8fae8e54af Disable excessive logging in scheduler plugins 2019-12-16 15:14:39 +01:00
Abdullah Gharaibeh
7331ec7b02 Move service affinity predicate logic to its plugin. 2019-12-15 13:56:31 -05:00
Abdullah Gharaibeh
02a0aad6d3 podfitsresource metadata as prefilter 2019-12-14 00:51:25 -05:00
Wei Huang
3d353f5122
Update semantics of EvenPodsSpread metadata object
- Now `nil` represents the meta is not set at all (in PreFilter phase)
- An empty `PodTopologySpreadMetadata` object denotes it's a legit meta and is set in PreFilter phase.
2019-12-13 16:33:22 -08:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin 2019-12-13 16:33:21 -08:00
Abdullah Gharaibeh
c54dbd85e0 wrap host ports metadata in a prefilter. 2019-12-13 09:16:25 -05:00
Abdullah Gharaibeh
2fdf1fa3c1 inter-pod affinity prefilter 2019-12-12 15:20:14 -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
Wei Huang
a136108d2b
Return all predicate failures instead of the first one 2019-12-08 21:10:40 -08:00
Kubernetes Prow Robot
055daafe23
Merge pull request #85139 from ahg-g/ahg-snapshot2
Updated NewSnapshot interface to accept a NodeInfoMap
2019-11-12 11:52:10 -08:00
Abdullah Gharaibeh
902cf48cd3 Updated NewSnapshot interface to accept a NodeInfoMap instead of lists of nodes and pods 2019-11-12 11:14:17 -05:00
Fabio Bertinatto
a59abc3cc3 Convert scheduler to use CSINode GA 2019-11-12 09:43:54 +01:00
Fabio Bertinatto
affcd0128b Promote volume limits to GA 2019-11-12 09:43:53 +01:00
Kubernetes Prow Robot
01e014c7d6
Merge pull request #85012 from alculquicondor/feat/predicate_factory
Add MetadataProducerFactory for predicates
2019-11-11 14:46:36 -08:00
Kubernetes Prow Robot
bff9a7774c
Merge pull request #84639 from SataQiu/clean-scheduler-20191101
scheduler: improve some comments and validation messages
2019-11-11 12:56:04 -08:00
Aldo Culquicondor
6a98c93f3c Add MetadataProducerFactory for predicates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
Kubernetes Prow Robot
36acfecd4b
Merge pull request #84973 from draveness/feature/inter-pod-affinity-score
feat(scheduler): convert InterPodAffinity to score plugin
2019-11-09 02:43:40 -08:00
draveness
715068312a feat(scheduler): convert InterPodAffinity to score plugin 2019-11-08 15:37:33 +08:00
Cong Liu
e438970730 Aggregate mulitple NodePreference custom priorities to a single score plugin. 2019-11-07 22:04:38 -05:00
Kubernetes Prow Robot
a82092442f
Merge pull request #84635 from danielqsj/CheckServiceAffinity
Migrate CheckServiceAffinity custom predicate to Filter plugin
2019-11-07 09:04:39 -08:00