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
Abdullah Gharaibeh
6120fe9b11
Convert predicates/priorities configurations to a framework plugin configs.
2019-09-30 10:36:52 -04:00
Kubernetes Prow Robot
5e4abfb946
Merge pull request #83042 from draveness/feature/remove-score-with-normalize-extension
...
feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin
2019-09-26 10:49:20 -07:00
Kubernetes Prow Robot
b34eede084
Merge pull request #83080 from ahg-g/ahg-config-layer
...
Mapping Layer - 1. A mapping from predicates/priorities to plugin configuration
2019-09-25 22:05:20 -07:00
draveness
314ec4e504
feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin
2019-09-26 10:19:06 +08:00
Abdullah Gharaibeh
a57ac0725a
A mapping from predicates/priorities to pluing configuration.
...
This PR only implements the mapping, but does not use it. A followup PR will use this mapping to produce a framework configuration that redirects mapped predicates/priorites to be exected as plugins.
2019-09-25 22:10:30 -04: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
yiyang5055
bbc4931ab8
fix error package name and rename struct
2019-09-17 09:11:26 +08: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
Youbing Li
7f9dd949e0
The implementation of Filter extension for the new framework
2019-07-17 03:28:30 -04:00
Abdullah Gharaibeh
a80425bd23
Fixed build files.
2019-07-16 10:24:10 -04:00
Abdullah Gharaibeh
73704f1b8e
Use error channel to capture first error.
2019-07-16 10:00:42 -04:00
Abdullah Gharaibeh
c54c4d1962
Score plugin for the scheduling framework.
2019-07-16 09:38:37 -04:00
Chun Chen
e04f03d3cb
Fix flaky test TestBindPlugin
2019-07-15 23:36:06 +08:00
Chun Chen
3bb1a081ab
Revert "Revert "Add Bind extension point of the scheduling framework""
...
This reverts commit b8950dab50
.
2019-07-15 23:36:02 +08:00
draveness
b8950dab50
Revert "Add Bind extension point of the scheduling framework"
2019-06-22 22:52:57 +08:00
Chun Chen
b339c0a8bf
Add Bind extension point of the scheduling framework
2019-06-20 15:56:01 +08:00
Abdullah Gharaibeh
a61a437ef2
prefilter extension point implementation.
2019-06-10 17:01:50 -04:00
Kubernetes Prow Robot
bb475c4a64
Merge pull request #77567 from wgliang/features/scheduling-framework-post-bind
...
Add Post-bind extension point to the scheduling framework
2019-05-29 17:24:20 -07:00