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
caiweidong
fd6983c70f
simplify volume zone checker
2019-11-01 13:38:25 +08:00
Abdullah Gharaibeh
0a29c06ba6
delete nodeinfo lister
2019-10-30 08:59:18 -04:00
Abdullah Gharaibeh
05cb382357
Update PredicateMetadataProducer to accept a scheduler SharedLister instead of nodeinfomap
2019-10-25 19:19:23 -04: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
Kubernetes Prow Robot
4ee1e7510f
Merge pull request #84328 from zouyee/renamefakelister
...
rename scheduler fake listers
2019-10-25 11:15:51 -07:00
zouyee
b86dbb97df
rename scheduler fake listers
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-25 13:09:01 +08:00
Jordan Liggitt
0e2f2dde4d
Feature-gate CSINode and CSIDriver informer starts
2019-10-24 17:44:25 -04:00
zouyee
3bfdcf56e6
Remove wrappers around storage-related listers in the predicate
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-24 23:26:15 +08:00
Abdullah Gharaibeh
d393804237
separate listers into their own package
2019-10-22 18:11:02 -04:00
draveness
09f333940e
feat: remove CheckNodeMemoryPressure/DiskPressure/PIDPressure/Condition predicates
2019-10-22 15:28:32 +08:00
Kubernetes Prow Robot
899ca689ad
Merge pull request #83983 from phiremande/phk-kube-dev
...
Issue 83458:Changed the return check for GetNodeInfo
2019-10-21 21:11:58 -07:00
Kubernetes Prow Robot
8138e8d012
Merge pull request #83310 from SataQiu/clean-scheduler-20190930
...
scheduler: make getVolumeLimits a function instead of a method
2019-10-21 12:38:06 -07:00
Pradeep Hiremande
678b670f92
Issue 83458:Changed the return check for GetNodeInfo
2019-10-21 21:51:31 +05:30
Kubernetes Prow Robot
019b662ff5
Merge pull request #84017 from ahg-g/ahg-csi
...
Remove CSINode from scheduler cache.
2019-10-20 03:17:37 -07:00
draveness
e1f86e3460
feat(scheduler): replace several algorithm listers with client listers
2019-10-19 17:26:32 +08:00
Abdullah Gharaibeh
a772722660
Remove CSINode from scheduler cache.
2019-10-19 03:52:22 +00: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
notpad
f06925b0ee
[migration phase 1] CSIMaxVolumeLimitChecker as filter plugin
2019-10-17 22:04:02 +08:00
draveness
9554276d17
feat(scheduler): create metadata and addPod/removePod for migration
2019-10-08 10:05:22 +08:00
Abdullah Gharaibeh
66386fdf49
Added the first predicate as a filter plugin: PodToleratesNodeTaints.
2019-10-05 08:43:17 -04:00
SataQiu
92300eaadb
scheduler: make getVolumeLimits a function instead of a method
2019-09-30 16:25:31 +08:00
Kubernetes Prow Robot
14e5adfc85
Merge pull request #82683 from davidz627/fix/translationStruct
...
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing
2019-09-29 10:11:37 -07:00
Kubernetes Prow Robot
654aa1d846
Merge pull request #83234 from SataQiu/scheduler-cleanup-20190927
...
scheduler: change PredicateMetadata.AddPod to use *v1.Node insead of rich *schedulernodeinfo.NodeInfo
2019-09-28 23:49:37 -07:00
SataQiu
bcaa991676
scheduler: code clean up for predicates/metadata
2019-09-29 10:11:53 +08:00
David Zhu
92cb06a2e7
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future
2019-09-27 12:59:53 -07:00
SataQiu
20e3580066
scheduler: handle error of podSpreadCache.removePod method
2019-09-27 16:23:56 +08:00
Kubernetes Prow Robot
8274bec900
Merge pull request #82990 from SataQiu/cleanup-scheduler-20190922
...
Clean up code about scheduler algorithm
2019-09-24 13:37:38 -07:00
Mark Janssen
345e528c86
Fix staticcheck failures for pkg/scheduler/...
2019-09-23 22:49:59 +02:00
SataQiu
7cb4850699
clean up code for scheduler
2019-09-23 12:50:15 +08:00
Wei Huang
e85473c2df
Benchmark test for PodAffinity
2019-09-19 10:52:03 -07: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
Kubernetes Prow Robot
ead8e0c24e
Merge pull request #80814 from xiaoanyunfei/cleanup/GeneralPredicates
...
Use iteration to make the GeneralPredicates code cleaner
2019-08-27 00:52:40 -07:00
Shintaro Murakami
a0c93b10c9
Remove unnecessary factory layer
2019-08-24 08:08:30 +09: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
Wei Huang
7f1a3965fd
Add Benchmark test for EvenPodsSpread predicate
...
- go test k8s.io/kubernetes/pkg/scheduler/algorithm/predicates -benchmem -run=^$ -bench .
2019-08-20 09:25:01 -07:00
Kubernetes Prow Robot
decdf8891f
Merge pull request #80460 from mrkm4ntr/pvc-class-name
...
Use v1helper.GetPersistentVolumeClaimClass for compatibility
2019-08-05 15:08:30 -07:00
Fabio Bertinatto
c5d9af2bda
Update predicates to use cached CSINode in scheduler
2019-08-01 10:15:20 +02:00
xiaofei.sun
bff9ad44f9
clean GeneralPredicates code
2019-07-31 23:06:46 +08:00
Fabio Bertinatto
6e9112b7fe
When PVC is invalid, don't count volumes in scheduler predicate
2019-07-31 12:56:28 +02:00
Fabio Bertinatto
ee7b48b7c5
Don't count unrelated volumes in scheduler predicate
2019-07-31 12:56:28 +02: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
821446ed70
EvenPodsSpread: Make some funcs in predicates pkg as public
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
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
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
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
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
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
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
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
caiweidong
4038a5e3db
Remove unused lock in scheduler
2019-04-13 13:27:16 +08:00
Ted Yu
02e0f9c5fd
Produce map according to the shorter array in haveOverlap
2019-04-08 13:22:30 -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
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
Hemant Kumar
a3a93c560b
Add more volume types and unbound pvcs etc
2019-03-14 17:07:36 -04: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
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
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
Jordan Liggitt
73dcfe12da
Stop checking VolumeScheduling feature gate
2018-12-27 17:45:45 -05: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
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