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
skilxn-go
f5b7e3cca3
Rename PostFilter
plugin to PreScore
2020-02-12 23:25:08 +08:00
Wei Huang
b8e2b0d990
Refine WaitingPod interface
2020-02-07 16:32:48 -08:00
Somtochi Onyekwere
0e00e0af11
Adds more unit test on Bind extension for the scheduler
2020-01-31 22:37:22 +01:00
Somtochi Onyekwere
8ae868b4e0
Adds more test cases in TestRunBindPlugins for the scheduler
2020-01-25 00:22:07 +01: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
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin
2020-01-16 19:10:43 -08:00
Kubernetes Prow Robot
f634ee6fe2
Merge pull request #86545 from xiaoanyunfei/cleanup/enhance_scheduler_metrics
...
Cleanup/Enhance scheduler metrics
2020-01-09 13:29:22 -08:00
Kubernetes Prow Robot
edad4bbfc8
Merge pull request #86940 from skilxn-go/master
...
Add VolumeBinder to FrameworkHandle interface
2020-01-09 03:01:45 -08:00
sunxiaofei03
6c58cc0ad0
change framework_extension_point_duration_seconds from sampling to always record
2020-01-09 12:23:05 +08:00
skilxn-go
5def91d778
Add VolumeBinder to FrameworkHandle interface
2020-01-09 10:29:35 +08:00
Abdullah Gharaibeh
f3c7a4c823
Update scheduler's RunFilterPlugins to return a plugin to status map
2020-01-08 16:44:51 -05:00
Matt Mix
42afa0a2cc
Adding in missing Registry unit tests.
2020-01-07 10:20:39 -05:00
Abdullah Gharaibeh
2b3df3587e
Deprecate scheduler predicate and priority factory registration
2019-12-25 20:33:08 -05:00
Kubernetes Prow Robot
06fb3eb582
Merge pull request #86496 from ahg-g/ahg1-check
...
Support AlwaysCheckAllPredicates in the scheduler framework.
2019-12-23 09:53:33 -08:00
Abdullah Gharaibeh
eeb8a5b728
Added back the flag to trigger examining all Filters in the scheduler.
2019-12-21 05:17:23 -05:00
Wei Huang
3e65b3793f
Cleanup failedPredicateMap from generic_scheduler.go
2019-12-20 15:18:15 -08:00
Abdullah Gharaibeh
02a0aad6d3
podfitsresource metadata as prefilter
2019-12-14 00:51:25 -05:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin
2019-12-13 16:33:21 -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
a15b5dfb13
Merge pull request #85188 from charleszheng44/scheduler-ut
...
add ut for scheduler framework
2019-11-22 17:29:43 -08:00
chao zheng
259cc951ff
add ut for scheduler framework
2019-11-14 19:39:21 -08:00
Cong Liu
af6a8160c3
Add scheduler plugin execution duration metric.
...
Address comments
Sample metrics
Use rand.Intn and some cleanup
2019-11-12 13:00:20 -05:00
Abdullah Gharaibeh
6b4bd87ba3
Remove Framework dependency on nodeinfo snapshot
2019-11-06 08:37:57 -05:00
Kubernetes Prow Robot
042b17ef19
Merge pull request #83619 from damemi/cc-nilable
...
Change Scheduler ComponentConfig fields to nilable pointers
2019-11-05 22:17:13 -08:00
Mike Dame
9e2591f867
Change scheduler ComponentConfig fields to nilable
...
As part of graduating the scheduler's component config to beta, we require configurable fields to be nilable pointers (see https://github.com/kubernetes/kubernetes/issues/78109 ). This enables the ability to distinguish between default and unset values. We are only applying this change to external types, and reacting in our defaulting logic. This also reverts existing internal component config fields which were pointers to be non-pointers, for consistency.
2019-11-05 17:06:06 -05:00
Alex Wang
83dce763ec
add event to remove and reject waitingpods
2019-11-05 22:04:44 +08: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
Abdullah Gharaibeh
c6baa263a3
Update priorities to use SharedLister instead of using the snapshot directly
2019-10-29 16:22:00 -04:00
Jun Gong
b4c2b00690
Make sure score plugins are executed when no priority configured
2019-10-29 17:25:35 +08: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
4fdf582687
Merge pull request #84011 from liu-cong/permit
...
Add permit_wait_duration_seconds metric for scheduler.
2019-10-24 11:55:41 -07:00
Abdullah Gharaibeh
373cf8c1b1
move nodeinfo/snapshot.go into its own package
2019-10-23 16:12:13 -04:00
Cong Liu
f32d735b50
Add permit_wait_duration_seconds metric for scheduler.
2019-10-23 09:01:27 -04:00
Kubernetes Prow Robot
7e53c9d808
Merge pull request #83756 from hex108/permit
...
Refactor scheduler's framework permit API
2019-10-19 06:47:37 -07:00
Jun Gong
38b7668bb3
Refactor scheduler's framework permit API
2019-10-19 16:22:39 +08: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
Kubernetes Prow Robot
3719fcdffa
Merge pull request #82072 from draveness/feature/use-context-instead-of-channel
...
feat(scheduler): use context in scheduler package
2019-10-17 01:46:39 -07:00
Abdullah Gharaibeh
17a6a7914c
make sure filters are executed when no predicates configured
2019-10-16 21:27:57 -04:00
draveness
47a6c5b693
feat(scheduler): use context in the scheduler package
...
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
Kubernetes Prow Robot
1552ba6b00
Merge pull request #83569 from liu-cong/framework-metrics
...
Add metrics for scheduler framework.
2019-10-15 23:05:28 -07:00
Cong Liu
da30a00f9a
Add metrics for scheduler framework.
2019-10-14 20:26:03 -04:00
Kubernetes Prow Robot
1e5a9f3ff4
Merge pull request #83522 from draveness/feature/expand-node-score-range
...
feat(scheduler): expand node score range to [0, 100]
2019-10-11 16:20:38 -07:00
Kubernetes Prow Robot
c980000176
Merge pull request #83663 from draveness/feature/add-shared-informers-factory
...
feat(scheduler): expose SharedInformerFactory to the framework handle
2019-10-11 09:29:40 -07:00
draveness
1f52bd80d1
feat(scheduler): expand node score range to [0, 100]
2019-10-11 23:43:09 +08:00
Kubernetes Prow Robot
c1a735c642
Merge pull request #83601 from ahg-g/ahg-migration-priority
...
Implemented taints and tolerations priority function as a Score plugin
2019-10-11 00:05:50 -07:00
draveness
ee4dec65b5
feat(scheduler): expose SharedInformerFactory to the framework handle
2019-10-11 10:23:21 +08:00
Kubernetes Prow Robot
a5e6ac0a95
Merge pull request #83694 from ahg-g/ahg-adv-config
...
[migration phase 1] Make scheduler cache, volume binder and listers available when registering default plugins
2019-10-10 19:00:21 -07:00
Abdullah Gharaibeh
7429b0fe86
Implemented taints and tolerations priority function as a Score plugin
2019-10-10 17:49:40 -04:00
Cong Liu
085852160a
Add per-pod metrics for scheduler.
2019-10-10 16:58:21 -04:00
Abdullah Gharaibeh
456df97745
made scheduler cache and volume binder available when instantiating factories for default plugins
2019-10-10 16:21:29 -04:00
Kubernetes Prow Robot
0110db3a14
Merge pull request #83537 from ahg-g/ahg-metadata
...
Added PredicateMetadata and PriorityMetadata to framework's CycleState
2019-10-08 18:37:50 -07:00
Abdullah Gharaibeh
bc550b0896
Added PredicateMetadata and PriorityMetadata as CycleState to the framework
2019-10-07 22:25:08 -04:00
draveness
ab3f55720b
feat(scheduler): expose kubernetes client in framework handle
2019-10-06 10:31:49 +08:00
Abdullah Gharaibeh
66386fdf49
Added the first predicate as a filter plugin: PodToleratesNodeTaints.
2019-10-05 08:43:17 -04:00
Kubernetes Prow Robot
4e1214c149
Merge pull request #83506 from alculquicondor/cleanup/framework_new
...
Cleanup reflection usage in framework creation
2019-10-04 16:31:44 -07:00
Abdullah Gharaibeh
043166f54b
Modified the name of the Extensions method in the scheduler's framework.
2019-10-04 15:53:06 -04:00
Aldo Culquicondor
984c4e8cc2
Cleanup reflection usage in framework creation
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-10-04 12:40:21 -04:00
draveness
c73ff9749b
feat(scheduler): rename PluginContext to CycleState
2019-10-04 17:30:36 +08:00
Kubernetes Prow Robot
3317805652
Merge pull request #83243 from draveness/feature/use-reflect-in-new-registry
...
feat(scheduler): use reflect to reduce the similar pattern
2019-10-03 14:39:54 -07:00
draveness
5e84257133
feat(scheduler): use reflect to reduce the similar pattern
2019-10-03 10:46:19 +08:00
draveness
9769d49bb5
feat(scheduler): remove MaxPriority in the scheduler api
2019-10-02 11:24:25 +08:00
Kubernetes Prow Robot
dc0013a506
Merge pull request #83365 from notpad/feature/83244
...
A consistent interface for plugin extended functionality
2019-10-01 13:01:11 -07:00
Wei Huang
cbdb4e3fdb
refactor scheduler extender related API
...
- move extender related API from pkg/scheduler/api to pkg/scheduler/apis/extender/v1
- alias extenderv1 to pkg/scheduler/apis/extender/v1
- use NodeScore and NodeScoreList in non-extender logic
2019-10-01 09:51:24 -07:00
notpad
fc55e74741
A consistent interface for plugin extended functionality
2019-10-01 23:59:48 +08:00
draveness
314ec4e504
feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin
2019-09-26 10:19:06 +08: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
Abdullah Gharaibeh
641317bdde
Updated ContextData and PluginContext with Clone methods.
...
This is necessary to be able to clone PluginContext during preemption.
2019-09-23 14:34:40 -04: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
Abdullah Gharaibeh
3174d9c847
Added a noop plugin to make sure we have the dependencies worked out for the default registry of the scheduler framework.
2019-09-13 13:36:35 -04:00
Kubernetes Prow Robot
3fd8962bd1
Merge pull request #82483 from everpeace/fix-scheduler-pluginconfig-initialization
...
The correct PluginConfig.Args is not passed to the corresponding PluginFactory in kube-scheduler when multiple PluginConfig items are defined
2019-09-11 21:22:49 -07:00
Abdullah Gharaibeh
54ac023a53
Scheduler PreBind plugins are currently allowed to return Unschedulable status, which should not according to the KEP and comments.
2019-09-11 14:03:18 -04:00
Shingo Omura
439a6825e7
need to use local variable so that pluginNameToConfig map can keep correct contents
...
because the type of PluginConfig.Args is not pointer.
It also fixed framework_test so that it can test PluginConfig initialization.
2019-09-11 16:56:22 +09: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
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
Jun Gong
6324285f3b
Add a helper function to decode scheduler plugin args
2019-08-27 13:11:52 +08:00
draveness
ffef11f768
feat(scheduler): move node info snapshot out of internal package
2019-08-23 22:32:16 +08:00
draveness
af2e0428f6
feat: use PreBind instead of Prebind in the scheduling framework
2019-08-23 02:09:19 +08:00
draveness
03f0934c80
feat: use PostBind instead of Postbind in the scheduling framework
2019-08-23 02:09:12 +08:00
draveness
f3816fb757
feat: use PreFilter instead of Prefilter in the scheduling framework
2019-08-23 02:09:00 +08:00
Cong Liu
e50a24d64c
Move RunNormalizeScorePlugins and ApplyScoreWeights into RunScorePlugins; Also add unit tests for RunScorePlugins.
2019-08-20 13:18:32 -04:00
draveness
d3cc73965a
feat: use schedulerapi.MaxPriority instead of hard-coded int
2019-08-14 19:16:41 +08:00
draveness
9fb0df5096
feat(scheduler): return error when score is out of range
2019-08-14 19:16:41 +08: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
draveness
aa5f9fda52
feat: use named array instead of score array in normalizing score
2019-08-08 08:19:49 +08:00
Kubernetes Prow Robot
a07992436d
Merge pull request #80412 from hex108/concurrent_read_write
...
Add doc that plugins in bind cycle should not use scheduler NodeInfoSnapshot
2019-08-06 21:05:18 -07:00
draveness
22bac3084a
fix: use %q instead of %v in scheduling framework
2019-08-06 00:01:25 +08:00
draveness
859cac0595
fix: update run filter plugin for consistency
2019-08-02 10:23:43 +08:00
draveness
feb64858aa
feat: implement "post-filter" extension point for scheduling framework
2019-08-02 10:12:54 +08:00
Ted Yu
5efeda3718
Return early in ApplyScoreWeights if there are no scores
2019-08-01 04:59:18 -07:00
Cong Liu
34373662d3
Add NormalizeScore extension point for scheduler framework.
2019-07-30 20:02:13 -04:00
Kubernetes Prow Robot
dc515bb12e
Merge pull request #80469 from draveness/feature/add-unit-tests-to-framework-status
...
fix: return empty string when status is nil
2019-07-24 18:08:05 -07:00
Kubernetes Prow Robot
acd597dbac
Merge pull request #80305 from hex108/cleanup_score_plugin
...
Precheck score plugins' weight when initializing
2019-07-24 15:20:05 -07:00
draveness
7549c53a38
fix: return empty string when status is nil
2019-07-24 20:55:11 +08:00
Jun Gong
a3ed664246
Add doc that plugins in binding cycle should not use NodeInfoSnapshot()
2019-07-23 20:25:39 +08:00
Jun Gong
2dc5cf8c43
Set score plugin's weight to 1 if it is not set
2019-07-18 22:35:34 +08:00
Jun Gong
66347b516c
Precheck score plugins' weight when initializing
2019-07-18 21:19:21 +08:00