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
JieJhih Jhang
823111c0fe
use iota instead assign value to constants
2019-05-24 18:45:01 +08:00
Guoliang Wang
20f9c9940e
Add Post-bind extension point to the scheduling framework
2019-05-19 18:12:16 +08:00
JieJhih Jhang
0734d1debb
handle nil extension points
2019-05-18 07:24:27 +08:00
JieJhih Jhang
2cd5fc54a1
add scheduling framework configuration
...
update bazel build
fix get plugin config method
initialize only needed plugins
fix unit test
fix import duplicate package
update bazel
add docstrings
add weight field to plugin
add plugin to v1alpha1
add plugins at appropriate extension points
remove todo statement
fix import package file path
set plugin json schema
add plugin unit test to option
initial plugin in test integration
initialize only needed plugins
update bazel
rename func
change plugins needed logic
remove v1 alias
change the comment
fix alias shorter
remove blank line
change docstrings
fix map bool to struct
add some docstrings
add unreserve plugin
fix docstrings
move variable inside the for loop
make if else statement cleaner
remove plugin config from reserve plugin unit test
add plugin config and reduce unnecessary options for unit test
update bazel
fix race condition
fix permit plugin integration
change plugins to be pointer
change weight to int32
fix package alias
initial queue sort plugin
rename unreserve plugin
redesign plugin struct
update docstrings
check queue sort plugin amount
fix error message
fix condition
change plugin struct
add disabled plugin for unit test
fix docstrings
handle nil plugin set
2019-05-18 06:30:28 +08:00
draveness
d60bccc6a4
feat: implement "queue-sort" extension point for scheduling framework
2019-05-15 09:40:15 +08:00
Abdullah Gharaibeh
98de316436
Implement the permit extension point in scheduler.
2019-05-10 12:42:04 -04:00
Kubernetes Prow Robot
b9ccdd2824
Merge pull request #77598 from danielqsj/unreserve
...
Add Un-reserve extension point for the scheduling framework
2019-05-09 23:37:57 -07:00
danielqsj
997648a923
Add Un-reserve extension point for the scheduling framework
2019-05-10 13:19:22 +08:00
Abdullah Gharaibeh
7b127311a4
Make thread-safe the prebind callback of stateful plugin in scheduler framework.
2019-05-08 22:19:21 -04:00
Han Kang
51992d61a0
Revert "Add Un-reserve extension point for the scheduling framework"
...
This reverts commit 8b5182581a
.
2019-05-07 21:17:29 -07:00
danielqsj
8b5182581a
Add Un-reserve extension point for the scheduling framework
2019-05-07 14:51:58 +08:00
Onur Satici
1fccb933c6
make example plugins conform with the PluginFactory type
2019-05-03 21:05:52 +01:00
Onur Satici
78f7027f66
fix scheduler plugin example
2019-05-03 11:56:00 +01:00
Bobby (Babak) Salamat
83828bcb2d
autogenerated files
2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
54afaf2326
Add framework and registry for the scheduling framework
2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
404dc1ed79
Update scheduler framework plugins to align with the latest changes to the framework design
2019-04-29 16:40:56 -07:00