Guoliang Wang
08f7b22025
Add a metric to track number of scheduler binding goroutines
2019-10-21 16:38:12 +08:00
Shintaro Murakami
bf256bcb00
Use frameworkHandle to get listers
2019-10-19 01:29:05 +09: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
Ahmad Diaa
4448a1cea9
move factory package to scheduler
2019-10-12 23:03:07 +02:00
Ahmad Diaa
6bbc607d72
move PodPreemptor to scheduler
2019-10-11 22:57:39 +02:00
Kubernetes Prow Robot
54f089fa08
Merge pull request #83603 from Tabrizian/master
...
feat: change the `pod_preemption_victims` to Histogram
2019-10-11 10:53:43 -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
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
Iman Tabrizian
451a535401
feat: feat: change the pod_preemption_victims
to Histogram
2019-10-09 18:28:32 -04:00
draveness
9646afb1f5
feat: add pod initial/max backoff duration to config API
2019-10-09 19:48:28 +08:00
Kubernetes Prow Robot
1501de6a56
Merge pull request #78461 from mysunshine92/correct-return-information-scheduler
...
correct the return information in scheduler.go
2019-10-08 09:37:13 -07:00
draveness
c73ff9749b
feat(scheduler): rename PluginContext to CycleState
2019-10-04 17:30:36 +08:00
Kubernetes Prow Robot
0a17315e18
Merge pull request #83418 from ahg-g/ahg-first-priority
...
Refactor scheduler.New so that all framework-related parameters are options
2019-10-03 10:00:11 -07:00
Abdullah Gharaibeh
30e7016ccf
Refactor scheduler.New so that all framework-related parameters are passed as options
2019-10-03 11:39:59 -04:00
Ahmad Diaa
6c75e1baa2
move PodConditionUpdater to scheduler
2019-10-02 23:29:49 +02:00
Ahmad Diaa
bf6a70a1ce
use scheduler.Option in initTestSchedulerWithOptions
2019-09-21 00:06:42 +02:00
Kubernetes Prow Robot
82f5531df3
Merge pull request #82119 from wgliang/fixbug/fix-scheudle-function-context
...
Take the context as the first argument of Schedule
2019-09-12 11:46:28 -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
Guoliang Wang
d84a75c140
Fix filter plugins are not been called during preemption
2019-09-06 09:59:01 +08:00
Guoliang Wang
008f4e2ddc
Take the context as the first argument of Schedule
2019-08-29 17:47:49 +08: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
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
Ahmad Diaa
61ab77ef7a
use factory.Config fields directly in scheduler struct
2019-08-16 15:21:28 +02:00
Kubernetes Prow Robot
2ad2795136
Merge pull request #79641 from yqwang-ms/yqwang/fix-ds-crash
...
Fix default scheduler crash if scheduler extender filter returns a not found node
2019-08-14 02:08:37 -07:00
Yuqi Wang
5927ec4f8b
Fix default scheduler crash if scheduler extender filter returns a not found node
2019-08-14 10:38:42 +08:00
Kubernetes Prow Robot
f3c94c9c42
Merge pull request #81151 from mrkm4ntr/remove-node-lister
...
Remove algorithm.NodeLister from scheduler interface
2019-08-13 12:29:55 -07:00
Shintaro Murakami
11f043c784
Remove algorithm.NodeLister from scheduler interface
...
Will fixup
2019-08-13 10:30:30 +09:00
Kubernetes Prow Robot
3f6f3fc3f9
Merge pull request #80416 from mrkm4ntr/metrics-framework-returns-unschedulable
...
Record metrics when framework returns unschedulable error
2019-08-09 03:01:25 -07:00
Kubernetes Prow Robot
2bea7a371b
Merge pull request #80811 from liu-cong/loglevel
...
Lower verbosity level for some useful scheduler logs; Also add node resource info when pod is scheduled on node.
2019-08-08 17:57:38 -07:00
Cong Liu
df0ade56c4
Lower verbosity level for some useful scheduler logs; Also add node resource info when pod is scheduled on node.
2019-08-07 16:20:40 -04:00
Kubernetes Prow Robot
1a01d10f5f
Merge pull request #80590 from alculquicondor/refactor/configurator-pod
...
Remove Configurator interface
2019-08-06 21:05:31 -07:00
Aldo Culquicondor
d935b1054c
Remove Configurator interface
...
The Configurator has been used as a holder for listers that tests need,
which is not its purpose. By making the tests obtain listers from more
appropriate places, such as informers, there is no need for various
accessors to the Configurator.
Also, FakeConfigurator is not being used anymore, so there's no need for
an interface instead of a plain pointer.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-08-01 08:36:38 -04:00
Yecheng Fu
00afede30d
Log an error when kube-scheduler fails to update the condition of the pod.
2019-07-30 10:05:20 +08:00
Jun Gong
df14adf474
Send a reject message to permit plugin when preempting a WaitingPod
2019-07-23 10:23:54 +08:00
Shintaro Murakami
169537499c
Record metrics when framework returns unschedulable error
2019-07-22 16:01:22 +09:00
Chun Chen
1f3bc52eab
Calling Unreserve plugin before recordSchedulingFailure in case of binding failure
...
Calling recordSchedulingFailure puts the pod back to scheduling queue in another
goroutine so pod may get a chance to be bond again before unreseve plugin cleaning
state about it.
2019-07-19 10:55:06 +08: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
Yassine TIJANI
08522f8e5a
move scheduler to use v1beta1.events
...
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-07-12 11:39:01 +02:00
danielqsj
d4ea78ea39
call unreserve plugin before record event
2019-07-03 11:34:52 +08:00
Fabio Bertinatto
00b0ab86af
Update scheduler to use volume limits from CSINode
2019-06-25 16:30:54 +02:00
draveness
ca6003bc75
feat: cleanup PodPriority features gate
2019-06-23 11:57:24 +08:00
Abdullah Gharaibeh
a61a437ef2
prefilter extension point implementation.
2019-06-10 17:01:50 -04:00
yameiwang
7a380ebce9
correct the return information in scheduler.go
2019-05-29 18:41:18 +08:00
Guoliang Wang
20f9c9940e
Add Post-bind extension point to the scheduling framework
2019-05-19 18:12:16 +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
Abdullah Gharaibeh
98de316436
Implement the permit extension point in scheduler.
2019-05-10 12:42:04 -04:00
danielqsj
997648a923
Add Un-reserve extension point for the scheduling framework
2019-05-10 13:19:22 +08: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
Bobby (Babak) Salamat
77824f5135
Change scheduler constructors to receive a plugin registry.
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
caiweidong
4c12c76a90
clean up unused code
2019-04-10 19:12:40 +08:00
shinytang6
86515d8b9e
scheduler: handle missing err
2019-03-29 19:20:15 +08:00
Wei Huang
6897fda878
scheduler: correct dated comments on pod preemption
...
- correct wordings related with annotations - which hasn't been used since alpha version
2019-03-26 12:10:46 -07:00
Wei Huang
49346c1e04
shorten scheduler package alias for better readability
...
- schedulerinternalcache -> internalcache
2019-03-21 18:14:19 -07:00
Kubernetes Prow Robot
9b8c58644a
Merge pull request #74418 from danielqsj/duration
...
convert latency/latencies in metrics name to duration
2019-03-01 17:58:12 -08:00
danielqsj
f7b437cae0
convert latency in mertics name to duration
2019-02-22 21:40:13 +08:00
wangqingcan
ea9e1a4118
not updae timestamp for each scheduling attempt
2019-02-22 09:46:18 +08:00
Mayank Kumar
e0a7d96632
Move informer event handlers to Scheduler
2019-01-29 17:53:20 -08:00
Kubernetes Prow Robot
b91cbf7b4e
Merge pull request #72332 from danielqsj/ks
...
Change scheduler metrics to conform metrics guidelines
2019-01-14 22:05:52 -08:00
Kubernetes Prow Robot
ccb1e1f26d
Merge pull request #72045 from cofyc/fix71928
...
Make volume binder resilient to races
2019-01-11 17:42:32 -08:00
Kubernetes Prow Robot
2c8b571d57
Merge pull request #71875 from wgliang/cleanup/remove-newfrom-functions
...
Move users of `factory.NewConfigFactory` to `scheduler.New`
2019-01-09 13:55:51 -08:00
Yecheng Fu
cfc8ef51d1
Make volume binder resilient to races: scheduler change
...
There is no need to clear stale pod binding cache in scheduling, because
it will be recreated at beginning of each schedule loop, and will be
cleared when pod is removed from scheduling queue.
2019-01-09 10:50:07 +08:00
Guoliang Wang
3c24c99b08
Move users of factory.NewConfigFactory
to scheduler.New
2019-01-09 06:40:30 +08:00
Kubernetes Prow Robot
5a708017e9
Merge pull request #72619 from everpeace/fix-starvation-by-sorting-queue-with-last-probe-time
...
change sort function of scheduling queue to avoid starvation when a lot of unscheduleable pods are in the queue
2019-01-07 20:24:24 -08:00
danielqsj
5b42a84cde
Change scheduler metrics to conform guideline
2019-01-08 11:16:01 +08:00
Shingo Omura
22079a79d4
change sort function of scheduling queue to avoid starvation when unschedulable pods are in the queue
...
When starvation heppens:
- a lot of unschedulable pods exists in the head of queue
- because condition.LastTransitionTime is updated only when condition.Status changed
- (this means that once a pod is marked unschedulable, the field never updated until the pod successfuly scheduled.)
What was changed:
- condition.LastProbeTime is updated everytime when pod is determined
unschedulable.
- changed sort function so to use LastProbeTime to avoid starvation
described above
Consideration:
- This changes increases k8s API server load because it updates Pod.status whenever scheduler decides it as
unschedulable.
Signed-off-by: Shingo Omura <everpeace@gmail.com>
2019-01-07 11:05:45 +09:00
Kubernetes Prow Robot
1c2624effc
Merge pull request #71926 from wgliang/feature/modify-scheduler-result-and-add-log
...
[scheduler] Modify the scheduling result struct and improve logging f…
2019-01-03 14:37:50 -08:00
Guoliang Wang
3e69638772
[scheduler] Modify the scheduling result struct and improve logging for successful binding
2019-01-03 11:00:35 +08:00
Kubernetes Prow Robot
65f87b5a4a
Merge pull request #72259 from bsalamat/fix_nominated_node
...
Fix a race in setting nominated node and the scheduling cycle after it.
2018-12-30 00:01:26 -08:00
Bobby (Babak) Salamat
7044145920
Fix race in setting nominated node
2018-12-29 22:54:15 -08:00
Jordan Liggitt
73dcfe12da
Stop checking VolumeScheduling feature gate
2018-12-27 17:45:45 -05:00
wangqingcan
1081e919e3
Eclass Task 1: clean up old equiv class code
...
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Kubernetes Prow Robot
1d59ab05fa
Merge pull request #71118 from ping035627/k8s-181115
...
Add some exception handling of Preempt
2018-12-17 12:10:31 -08:00
PingWang
98f852a441
Add some exception handling of Preempt
...
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
revert options
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
update returns for Preempt
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
revert Preempt returns
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
go fmt
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
update the preempt
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
move preemptionStartTime := time.Now() from line 496 to the else block.
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-12-10 08:44:10 +08:00
Bobby (Babak) Salamat
f74b30868c
Add plugin invocation for 'reserve' and 'prebind' plugins to the scheduler.
2018-11-30 16:03:47 -08:00
Yecheng Fu
8fc00ebda6
Clear pod binding cache.
2018-11-21 11:24:53 +08:00
k8s-ci-robot
1f3057b7fb
Merge pull request #70898 from Huang-Wei/preemption-issue
...
ensure scheduler preemptor behaves in an efficient/correct path
2018-11-16 20:27:35 -08:00
Wei Huang
b4fd11512a
ensure scheduler preemptor behaves in an efficient/correct path
...
- don't update nominatedMap cache when Pop() an element from activeQ
- instead, delete the nominated info from cache when it's "assumed"
- unit test behavior adjusted
- expose SchedulingQueue in factory.Config
2018-11-16 14:22:15 -08:00
PingWang
9e760732c3
Refactor New function
...
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
add comments for InitPolicyFromFile
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
make the methods package private
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-11-15 14:30:19 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
...
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
* github.com/kubernetes/repo-infra
* k8s.io/gengo/
* k8s.io/kube-openapi/
* github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods
Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Dr. Stefan Schimanski
d91feb6d18
kube-scheduler: move stopCh creation out of scheduler factory code
...
Enforces clean ownership of the channel.
2018-11-08 16:43:59 +01:00
wangqingcan
608911d5ac
add test for new constructor
2018-10-10 17:15:10 +08:00
wangqingcan
a74fd15e62
create a new scheduler constructor
2018-10-10 17:10:10 +08:00
Guoliang Wang
187e2e01c9
Move scheduler cache interface and implementation to pkg/scheduler/internal/cache
2018-10-06 20:48:59 +08:00
k8s-ci-robot
14949b302f
Merge pull request #68724 from krmayankk/sched1
...
scheduler: improve readability of bind function
2018-10-01 18:04:04 -07:00
Mayank Kumar
1ae12337db
scheduler: add error handling for bind
2018-09-28 21:13:21 -07:00
Wei Huang
9da576f03c
move SchedulingQueue to pkg/scheduler/internal/queue
2018-09-28 11:51:02 -07:00
k8s-ci-robot
db1d1c8674
Merge pull request #68700 from Huang-Wei/schedulingQ-graceful-shutdown
...
shutdown schedulingQueue gracefully
2018-09-28 00:46:14 -07:00
Wei Huang
be661fddb4
shutdown schedulingQueue gracefully
...
- add Close() to interface SchedulingQueue
- implement Close() for FIFO and PriorityQueue
- add unit test
2018-09-27 14:32:58 -07:00
k8s-ci-robot
823530d4db
Merge pull request #68917 from zhangmingld/fixwordserr
...
Fix some typo err
2018-09-26 22:59:32 -07:00
k8s-ci-robot
28d86ac47d
Merge pull request #67308 from cofyc/fix67260
...
Use monotonically increasing generation to prevent equivalence cache race
2018-09-25 00:18:00 -07:00
Jonathan Basseri
b0a8dbbc9d
Add scheduler throughput metric.
...
This adds a counter to the scheduler that can be used to calculate
throughput and error ratio. Pods which fail to schedule are not counted
as errors, but can still be tracked separately from successes.
We already measure scheduler latency, but throughput was missing. This
should be considered a key metric for the scheduler.
2018-09-24 14:38:39 -07:00
Yecheng Fu
b3f1e1200b
Update notes to document why invalidation order is important.
2018-09-22 12:09:24 +08:00
zhangmingld
6aaeb209eb
fix some typo
2018-09-21 10:19:35 +08:00
Michelle Au
01d83fa104
Scheduler changes to assume volume and pod together, and then bind
...
volume and pod asynchronously afterwards. This will also make it easier
to migrate to the scheduler framework.
2018-09-04 16:30:14 -07:00