Commit Graph

451 Commits

Author SHA1 Message Date
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
Wei Huang
06f48a988f
Print detailed score results on verbose level 10 2020-03-25 10:46:28 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Abdullah Gharaibeh
24fe5a2f72 Moved RunPreScorePlugins to inside prioritizeNodes and RunPreFilterPlugins to inside findNodesThatFitPod. 2020-03-23 11:08:40 -04:00
Abdullah Gharaibeh
f9b650bc98 Scheduler: execute PreScore right before Score instead of after Filter. 2020-03-23 10:59:04 -04:00
notpad
a043bc438d Fix comments 2020-03-16 11:58:27 +08:00
Patrick Ohly
2e7ce8cea0 bazel update 2020-02-28 10:09:19 +01: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
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05: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
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
notpad
89066cceb9 Add RegisterPluginAsExtensionsWithWeight 2020-02-11 23:11:53 +08:00
notpad
a7057f8df0 Cleanup "slow-path" logic in scheduler Filters 2020-02-10 22:48:49 +08:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision 2020-02-06 07:38:50 -08:00
Shintaro Murakami
577b2dcdac Fix numPDBViolations when victims on same node are assigned same PDB 2020-01-23 10:14:53 +09:00
Kubernetes Prow Robot
f409793eb6
Merge pull request #87458 from liu-cong/framework-metrics-new
Record overall Filter latency for all nodes in a scheduling cycle.
2020-01-22 14:48:50 -08:00
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
Cong Liu
e0aeb4d6a3 Record overall Filter latency for all nodes in a scheduling cycle. 2020-01-22 13:46:38 -05:00
zouyee
d6b449b5c7 Move scheduler's SchedulerExtender interface to core/extenders.go
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2020-01-21 20:20:20 +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
Kubernetes Prow Robot
88cf4e5c25
Merge pull request #87091 from ahg-g/ahg-cleanup
Remove last scheduler dependencies on predicates package
2020-01-14 17:21:39 -08:00
Kubernetes Prow Robot
b046f742bd
Merge pull request #87038 from alculquicondor/cleanup/mv_snapshot
Remove direct use of Snapshot's data structures
2020-01-14 17:21:29 -08:00
Kubernetes Prow Robot
f4db8212be
Merge pull request #76496 from danielqsj/metrics-2
Clean deprecated metrics
2020-01-13 20:53:09 -08:00
Aldo Culquicondor
187d711225 Split findNodesThatFit into framework and extenders logic
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-13 14:10:17 -05:00
Aldo Culquicondor
63c1c68d0c Remove direct use of Snapshot's data structures
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-13 14:10:17 -05: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
danielqsj
85931af1ee remove deprecated metrics of scheduler 2020-01-10 17:03:40 +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
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
draveness
0278d793c8 fix: remove ErrTopologySpreadConstraintsNotMatch 2020-01-09 16:01:13 +08:00
Haosdent Huang
864600f05f Break nodeunschedulable Filter plugins dependency on predicates package 2020-01-09 14:54:28 +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
4426ccb2a6
Merge pull request #86963 from ahg-g/ahg-status
Update scheduler's RunFilterPlugins to return a plugin to status map
2020-01-08 19:12:12 -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
f3c7a4c823 Update scheduler's RunFilterPlugins to return a plugin to status map 2020-01-08 16:44:51 -05:00
Mike Dame
d227b7822f Move selector spreading priority code to plugin 2020-01-08 13:37:37 -05:00
Aldo Culquicondor
5d916e20dd Use Snapshot.NodeInfoList for listing operations
instead of iterating over NodeInfoMap.

Also remove redundant queries to NodeInfoMap.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-08 09:45:36 -05: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
Haosdent Huang
320c9bfeed Break volumezone Filter plugins dependency on predicates package 2020-01-08 01:03:01 +08:00
Haosdent Huang
4ef31f81c7 Break nodelabel Filter plugins dependency on predicates package 2020-01-07 16:37:52 +08:00
Haosdent Huang
9bcca31e52 Break volumerestrictions Filter plugins dependency on predicates package 2020-01-06 02:59:47 +08:00
Kubernetes Prow Robot
fd98df37b5
Merge pull request #86742 from haosdent/clean-filter-deps
Break volumebinding Filter plugins dependency on predicates package
2020-01-04 12:21:40 -08:00
Haosdent Huang
d27dc6751e Break volumebinding Filter plugins dependency on predicates package 2020-01-05 01:37:22 +08:00
Kubernetes Prow Robot
135ddf1ccc
Merge pull request #86820 from Huang-Wei/cleanup-SetPredicatesOrdering
Cleanup SetPredicatesOrderingDuringTest due to deprecation of predicates
2020-01-03 16:59:41 -08:00
Wei Huang
051be8fe80
Cleanup SetPredicatesOrderingDuringTest due to deprecation of predicates 2020-01-03 11:57:17 -08:00
Wei Huang
64d7b224d9
Cleanup unused parameter of NewGenericScheduler 2020-01-03 11:42:39 -08:00
Kubernetes Prow Robot
180e1c9f51
Merge pull request #86584 from xiaoanyunfei/cleanup/deprecate_scheduler_metrics
deprecate scheduling_algorithm_predicate_evaluation_seconds and sched…
2020-01-03 03:41:40 -08:00
Kubernetes Prow Robot
b3c4c90a72
Merge pull request #86673 from ahg-g/ahg1-provider
Define algorithm providers in terms of plugins
2020-01-02 22:25:53 -08:00
Abdullah Gharaibeh
a6b7b0d95e Define algorithm providers in terms of plugins. 2019-12-31 15:28:09 -05:00
sunxiaofei03
97676963c3 deprecate scheduling_algorithm_predicate/priority_evaluation_seconds 2019-12-24 19:41:01 +08:00
sunxiaofei03
70b80ae28a Deprecate scheduling_duration_seconds Summary metric 2019-12-24 19:17:29 +08:00
Kubernetes Prow Robot
ff975e865d
Merge pull request #86498 from Huang-Wei/deprecate-failedPredicateMap
Cleanup failedPredicateMap from generic_scheduler.go
2019-12-21 08:41:33 -08:00
Wei Huang
3e65b3793f
Cleanup failedPredicateMap from generic_scheduler.go 2019-12-20 15:18:15 -08:00
Wei Huang
1f78a936d4
Deprecate AlwaysCheckAllPredicates in scheduler Policy API 2019-12-20 11:41:33 -08:00
Abdullah Gharaibeh
770e51cd10 Deprecate PredicateMetadata 2019-12-17 08:02:59 -05:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin 2019-12-13 16:33:21 -08:00
Kubernetes Prow Robot
c34d140241
Merge pull request #86129 from damemi/remove-priority-code
Remove priority execution path from prioritizeNodes in generic_scheduler
2019-12-13 01:41:04 -08:00
Kubernetes Prow Robot
7e01fe12bf
Merge pull request #86228 from ahg-g/ahg-r1
Deprecate scheduler's FailureReason
2019-12-12 18:33:32 -08:00
Mike Dame
255ab6d2c3 Remove priority execution paths in favor of score plugins
Mainly affects core/generic_scheduler.go (and related tests). Removes the "prioritizers" field and related functions.
2019-12-12 19:30:44 -05:00
Abdullah Gharaibeh
70a2bccfd6 deprecate scheduler's FailureReason 2019-12-12 18:54:52 -05:00
Abdullah Gharaibeh
9f334a4d08 Add an interface to return scheduler framework instance 2019-12-12 10:47:32 -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
b8ce44f006
Merge pull request #85863 from nan-yu/pdb_status_renaming
Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus
2019-12-05 15:54:49 -08:00
yuzhiquan
e057bd4ad2 fix: typo Snapshoting to Snapshotting 2019-12-05 10:42:35 +08:00
Nan Yu
1fb0dd4ec5 Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus 2019-12-03 14:26:35 -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
Abdullah Gharaibeh
2e0bad569d export scheduler.Snapshot function, needed for cluster autoscaler integration 2019-11-27 12:35:56 -05:00
Kubernetes Prow Robot
979688b5cd
Merge pull request #84335 from mrkm4ntr/fix-node-evaluation
Add unit test to catch scheduler's node order evaluation regressions
2019-11-14 10:05:35 -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
Aldo Culquicondor
6a98c93f3c Add MetadataProducerFactory for predicates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
Abdullah Gharaibeh
9fb380ceff set default percentageOfNodesToScore in kube-scheduler back to 0 (maning adaptive) 2019-11-09 06:34:06 -05:00
Shintaro Murakami
4857fc05f8 Add unit test to catch scheduler's node order evaluation regressions 2019-11-09 03:36:46 +09:00
draveness
3bb88356f4 feat(scheduler): remove deprecated pattern in scheduler priority 2019-11-07 22:43:07 +08:00
Kubernetes Prow Robot
916776c394
Merge pull request #84873 from ahg-g/ahg-equal
delete EqualPriority priority function, and make registering it a no op
2019-11-07 04:36:58 -08:00
Kubernetes Prow Robot
05fea1e437
Merge pull request #84834 from ahg-g/ahg-fwk
Remove Framework dependency on nodeinfo snapshot
2019-11-07 04:36:29 -08:00
draveness
652baf1860 feat: update interpod affinity priority with map reduce pattern 2019-11-07 08:52:37 +08:00
Abdullah Gharaibeh
f3453a1842 delete EqualPriority priority function, and make registering it a no op 2019-11-06 13:59:32 -05:00
Abdullah Gharaibeh
6b4bd87ba3 Remove Framework dependency on nodeinfo snapshot 2019-11-06 08:37:57 -05:00
Abdullah Gharaibeh
c33f217a5d tracking nodes with pod with affinity 2019-11-05 20:02:33 -05:00
Abdullah Gharaibeh
f8ae5cdaf8 expose PredicateMetadataProducer in generic scheduler 2019-11-05 05:17:47 -05:00
Wei Huang
703a669db3
autogen files
- make generated_files
- update-bazel.sh & update-vendor.sh)
2019-11-01 14:38:09 -07:00
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
draveness
b8a353a8a6 feat: make prioritizeNodes private function of genericScheduler 2019-10-31 19:43:53 +08:00
Wei Huang
a4305a356c
Expose filteredNodes to func PriorityMetadataProducer 2019-10-29 18:40:47 -07:00
Abdullah Gharaibeh
c6baa263a3 Update priorities to use SharedLister instead of using the snapshot directly 2019-10-29 16:22:00 -04:00