Commit Graph

290 Commits

Author SHA1 Message Date
Fabio Bertinatto
ee7b48b7c5 Don't count unrelated volumes in scheduler predicate 2019-07-31 12:56:28 +02:00
Cong Liu
9663c33747 Use ErrorChannel to communicate errors during parallel execution in interpod_afiinity. 2019-07-29 20:44:50 -04:00
Wei Huang
755a3112d8
[eps-priority] auto-gen files 2019-07-26 20:49:12 -07:00
Wei Huang
762a7113a7
EvenPodsSpread: optimize Priority logic 2019-07-26 20:49:12 -07:00
Wei Huang
26a45b2bd3
EvenPodsSpread: Benchmarking Priority function 2019-07-26 20:49:12 -07:00
Wei Huang
0bff4c27d6
EvenPodsSpread: weigh constraints individually
- update logic to weigh each constraint individually
- address comments and misc fixes
2019-07-26 20:48:05 -07:00
Wei Huang
3638fd5353
EvenPodsSpread: minor enhancement on printing out priority score 2019-07-26 20:48:05 -07:00
Wei Huang
821446ed70
EvenPodsSpread: Make some funcs in predicates pkg as public 2019-07-26 20:48:05 -07:00
Wei Huang
f25cc921e1
EvenPodsSpread: Core Priority logic 2019-07-26 20:48:05 -07:00
Wei Huang
eefc18a763
EvenPodsSpread: Define a new Priority 2019-07-26 20:48:05 -07:00
Kubernetes Prow Robot
50a0d38e3a
Merge pull request #80503 from tedyu/spread-constaints
Refactor nested loop in getTPMapMatchingSpreadConstraints
2019-07-25 20:48:11 -07:00
Ted Yu
89818d8d09 Refactor nested loop in getTPMapMatchingSpreadConstraints 2019-07-25 07:15:14 -07:00
Wei Huang
794847967c
EvenPodsSpread: update addPod() logic to match individual constraint
- also add TODO items for potential perf optimization
2019-07-24 15:27:55 -07:00
Wei Huang
fe7072a482
fixup: address comments 2019-07-24 15:27:55 -07:00
Wei Huang
ff831c3df2
EvenPodsSpread: Supports Preemption (addPod)
- add addPod() for podSpreadMap
2019-07-24 15:27:55 -07:00
Wei Huang
9e9808d0ab
EvenPodsSpread: Supports Preemption (removePod)
- add removePod() for podSpreadMap
2019-07-24 15:27:54 -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
1822085088
EvenPodsSpread: update 'selfMatch' logic 2019-07-24 10:28:46 -07:00
Wei Huang
39e459ae9a
fixup: address comments 2019-07-24 10:28:46 -07:00
Wei Huang
e0e3889d74
EvenPodsSpread: Core Predicate logic 2019-07-24 10:28:46 -07:00
Wei Huang
08e7b3bacb
EvenPodsSpread: Define a new Predicate 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
Shintaro Murakami
c94e800008 Use v1helper.GetPersistentVolumeClaimClass for compatibility 2019-07-24 10:35:00 +09:00
Wei Huang
f822487f05
EvenPodsSpread: match selector of each constraint independently
- see more discussion at https://github.com/kubernetes/kubernetes/pull/77760#discussion_r305107973
2019-07-22 17:51:23 -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
Wei Huang
3dbef991a3
EvenPodsSpread: refactor topologyPairsPodSpreadMap
- update minMatchMap from []int32 to map[string]int32
2019-07-22 17:34:56 -07:00
Wei Huang
a242e376ac
EvenPodsSpread: PredicateMetadata initilization
- build a new `topologyPairsPodSpreadMap` into PredicateMetadata
- update ShallowCopy()
- unit tests
2019-07-22 17:34:56 -07:00
Eric Ernst
62e9717386 scheduler: add pod Overhead support for requests
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-07-16 12:56:19 -07:00
Kubernetes Prow Robot
5a32bea904
Merge pull request #79777 from draveness/feature/refactor-scheduling-predicates
feat: use channel instead of mutex in scheduling predicates
2019-07-15 20:27:35 -07:00
Kubernetes Prow Robot
7285829b83
Merge pull request #78263 from misterikkit/nonZeroDocs
Add documentation about "non-zero requests"
2019-07-14 13:19:07 -07:00
draveness
fab1948a1b feat: use channel instead of mutex in scheduling predicates 2019-07-13 09:11:52 +08:00
jingxueli
6a1bbff60c keep processing other nodes for the nil node error 2019-07-11 15:34:40 +08:00
Kubernetes Prow Robot
9e5018ba20
Merge pull request #79453 from chendave/short-circuit
Short-circuit the evaluation of `cpuFraction` and `memoryFraction`
2019-07-10 16:24:27 -07:00
shiyan2016
c329d5117d cancel process node if error occurs 2019-07-09 19:50:48 -07:00
Kubernetes Prow Robot
6653a490fb
Merge pull request #79532 from snowplayfire/update-errMsg
improve error msg for predicate meta data
2019-07-09 13:46:37 -07:00
Kubernetes Prow Robot
3a009af5c2
Merge pull request #79098 from chendave/update_comments
Update the comments on how to check disk conflict
2019-07-04 08:18:36 -07:00
jingxueli
6196f7274e improve error msg for predicate meta data 2019-06-30 03:32:02 +08:00
draveness
30b0f8bf3b fix: predicates read nodes from scheduler cache 2019-06-29 02:34:08 +08:00
Dave Chen
a9d3a5f40d Short-circuit the evaluation of cpuFraction and memoryFraction
Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-06-27 13:56:48 +08:00
Hemant Kumar
6abc04d059 Add unit tests for CSI predicate 2019-06-25 16:30:54 +02:00
Fabio Bertinatto
00b0ab86af Update scheduler to use volume limits from CSINode 2019-06-25 16:30:54 +02:00
Dave Chen
a9aea022ce Update the comments on how to check disk conflict
Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-06-17 17:47:16 +08:00
Jonathan Basseri
66d359eb23 Add documentation about "non-zero requests" 2019-05-23 12:36:19 -07:00
draveness
73367250a3 fix: verify metadata is non-nil in resource allocation 2019-05-18 10:05:44 +08:00
draveness
cd3aac34ea feat: cache pod limits as part of metadata in priority functions 2019-05-14 21:36:09 +08:00
Wei Huang
c4df3a2c44
prevent predicatesOrdering from escaping from UT
- sets `predicatesOrdering` back to original value in UT
2019-05-08 18:05:34 -07:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
Wei Huang
492b970d73
lazy/dynamic initilization on the int64 pointers of inter-podaffinity priority 2019-04-24 08:13:24 -07:00
Wei Huang
854a266e94
Revert "Revert "scheduler: performance improvement on PodAffinity""
This reverts commit 6d89279115.
2019-04-24 08:13:24 -07:00
Kubernetes Prow Robot
71d064040f
Merge pull request #76883 from hex108/cancel
Cancel processing node if error occurs when getting affinity and anti…
2019-04-24 02:44:17 -07:00
Jun Gong
5ad4cd6b72 Cancel processing node if error occurs when getting affinity and antiaffinity 2019-04-22 11:35:23 +08:00
caiweidong
4486021837 Avoid useless caller 2019-04-19 00:18:54 +08:00
Kubernetes Prow Robot
a670e85ad8
Merge pull request #76536 from cwdsuzhou/remove_unused_lock
Remove unused lock in scheduler
2019-04-16 17:48:19 -07:00
shinytang6
6d11926709 clean up comments 2019-04-14 20:03:39 +08:00
Wei Huang
6d89279115
Revert "scheduler: performance improvement on PodAffinity"
This reverts commit 28730919a6.
2019-04-13 09:09:22 -07:00
caiweidong
4038a5e3db Remove unused lock in scheduler 2019-04-13 13:27:16 +08:00
Kubernetes Prow Robot
8a9ed4c91a
Merge pull request #76243 from Huang-Wei/perf-podaffinity
scheduler: performance improvement on PodAffinity
2019-04-09 18:36:12 -07:00
Ted Yu
02e0f9c5fd Produce map according to the shorter array in haveOverlap 2019-04-08 13:22:30 -07:00
Wei Huang
28730919a6
scheduler: performance improvement on PodAffinity
- replace unnecessary Lock/Unlock with atomic AddInt64
2019-04-07 14:34:22 -07:00
PingWang
b43a9d6ad1 Delete unused struct
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-04-03 17:43:42 +08:00
Kubernetes Prow Robot
76b1d83517
Merge pull request #73863 from gnufied/fix-attach-limit-delayed
Fix code to handle delayed binding volumes
2019-04-01 13:18:35 -07:00
Kubernetes Prow Robot
231e372d0c
Merge pull request #75620 from misterikkit/logcleanup
Scheduler: Logging cleanup in predicates.go.
2019-03-25 00:03:04 -07:00
Jonathan Basseri
1b447e8d19 Scheduler: Logging cleanup in predicates.go.
This is some light cleanup of logs in predicates.go. In particular, some
log lines have details clarified that will make debugging easier.

I have not touched any VLOG messages, since those usually have plenty of
detail.
2019-03-22 17:33:18 -07:00
Kubernetes Prow Robot
11ee8244ff
Merge pull request #75150 from qingsenLi/k8s190308-fix-faild
fix typo 'Faild'
2019-03-20 00:54:35 -07:00
Hemant Kumar
a3a93c560b Add more volume types and unbound pvcs etc 2019-03-14 17:07:36 -04:00
qingsenLi
1fdd67f330 fix typo 'faild' 2019-03-08 16:56:16 +08:00
Kubernetes Prow Robot
d5e4973a32
Merge pull request #74544 from gnufied/deprecate-cloudprovider-predicates
Deprecate cloudprovider specific volume limit predicates
2019-03-07 21:20:11 -08:00
Bobby (Babak) Salamat
a1b8777d42 Revert "Merge pull request #73934 from bsalamat/num_cpu"
This reverts commit cfe4ca8012, reversing
changes made to f16035600a.
2019-03-04 13:14:25 -08:00
Kubernetes Prow Robot
cfe4ca8012
Merge pull request #73934 from bsalamat/num_cpu
Use runtime.NumCPU() instead of a fixed value for parallel scheduler threads
2019-03-01 23:04:17 -08:00
m3ngyang
5fbdde4b4a fix some comment typos 2019-02-26 16:00:20 +08:00
Hemant Kumar
8c537b4693 Deprecate cloudprovider specific volume limit predicates
Fixes https://github.com/kubernetes/kubernetes/issues/72920
2019-02-25 16:24:29 -05:00
Bobby (Babak) Salamat
d0ebeefbc4 Use runtime.NumCPU() instead of a fixed value for parallel scheduler threads. 2019-02-11 13:37:30 -08:00
Andrew Kim
ca6a051b00 remove cloud provider dependencies to pkg/volume
Co-authored-by: Weibin Lin <linweibin1@huawei.com>
2019-02-09 01:16:55 -05:00
Hemant Kumar
b3cc469997 Fix code to handle delayed binding volumes 2019-02-08 17:27:50 -05:00
Kubernetes Prow Robot
54a578d3a1
Merge pull request #72012 from yeya24/patch-1
fix typos lable -> label
2019-02-08 10:36:05 -08:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Bobby (Babak) Salamat
eb59bc605c Short circuit volume checker if the pod is not requesting any volumes 2019-02-01 22:02:30 -08:00
yanghaichao12
31a139966c Fix typos 2019-01-26 09:40:09 -05:00
Kubernetes Prow Robot
d6b7409103
Merge pull request #72980 from gnufied/cinder-pod-volumes
Add Cinder Max Volume Limit
2019-01-16 13:32:32 -08:00
Hemant Kumar
727b3097f9 Do not make Cinder Max volume predicate a default 2019-01-16 15:17:05 -05:00
Mike McRill
a88d1d3dcc Add Cinder Max Volume Limit
Also add place holder support for reporting limits from node.
2019-01-16 13:46:28 -05:00
Kubernetes Prow Robot
14b2014c4a
Merge pull request #72079 from sonasingh46/cleanup
refactor(scheduler): Move priority types to priorities package
2019-01-15 09:24:15 -08:00
Ramya Krishnan
339ce0e804 Fix SelectorSpreadPriority scheduler to match all selectors. 2019-01-11 17:15:55 -08: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
Jordan Liggitt
73dcfe12da Stop checking VolumeScheduling feature gate 2018-12-27 17:45:45 -05:00
Bhavin Gandhi
ca46c1da15
[scheduler] Move predicate & priority registration to separate file
- Maintain list of default predicates and priorities in defaults.go
  and move the registration to separate files

Signed-off-by: Bhavin Gandhi <bhavin7392@gmail.com>
2018-12-22 19:30:34 +05:30
Kubernetes Prow Robot
37dc6789d7
Merge pull request #71978 from denkensk/move-predicate-types
Move predicate types from algorithm to predicates
2018-12-21 19:05:29 -08:00
Kubernetes Prow Robot
aaa4faba39
Merge pull request #72081 from denkensk/make-scheduleinternalcache-podFilter-public
Make PodFilter as part of public API
2018-12-21 12:37:39 -08:00
wangqingcan
000aa06912 Make scheduleinternalcache.PodFilter as public 2018-12-21 23:09:56 +08:00
wangqingcan
b82a1d4600 Move predicate types from algorithm to predicates 2018-12-21 22:26:47 +08:00
Wei Huang
8f87e71e0c
cleanup logic related with OutOfDisk
- cleanup OOD logic in scheduling and node controller
- update comments and testcases
2018-12-18 11:28:02 -08:00
Jonathan Basseri
8e25361320 Move ScheduleAlgorithm to the core package.
This moves the type `ScheduleAlgorithm` from `pkg/scheduler/algorithm`
to `pkg/scheduler/core`. The reason for this move is to fix our import
dependency graph and allow predicate & priority types to be moved into
their appropriate packages.

The new location makes sense because `core` is the only package that
exports an implementation of this type.
2018-12-13 15:08:38 -08:00
yeya24
16acbc84ce fix typos lable -> label 2018-12-13 17:52:13 +08:00
yuexiao-wang
7b6f60f085 modify BUILD
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:22:06 +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
Jordan Liggitt
2498ca7606 drop VerifyFeatureGatesUnchanged 2018-11-21 11:51:33 -05:00
Jordan Liggitt
733dd9dfd7 Add tests to ensure feature gate changes don't escape kubelet/scheduler packages 2018-11-16 10:52:53 -05:00
Jordan Liggitt
de8bf9b63d fix scheduler and kubelet unit tests leaking feature flag changes 2018-11-16 10:52:53 -05:00