Commit Graph

2742 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
57ff7d2994
Merge pull request #99246 from tanjing2020/change-log
Add detailed logs and start log messages with upper case
2021-02-22 17:24:39 -08:00
drfish
bc2df9de72 Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo 2021-02-22 22:00:23 +08:00
tanjing2020
d2b24a664e Add detailed logs and start log messages with upper case 2021-02-22 09:22:34 +08:00
Kubernetes Prow Robot
0b5dd00d03
Merge pull request #99119 from gavinfish/sched-preempt
Scheduler: let default preemption returns status instead of err
2021-02-19 20:49:41 -08:00
chymy
57fc5f67e7 migrate pkg/scheduler/framework/plugins/volume to structured logs
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-02-20 08:42:31 +08:00
drfish
a1bfa0120e Let default preemption returns status instead of err 2021-02-19 23:57:23 +08:00
Kubernetes Prow Robot
2b6a8381d2
Merge pull request #98875 from tanjing2020/change-log
migrate to structured logging
2021-02-19 07:48:25 -08:00
Kubernetes Prow Robot
d69d228a2c
Merge pull request #99211 from deepakiam/master
Substituting bool maps with String sets
2021-02-19 00:20:57 -08:00
Kubernetes Prow Robot
320aaf4859
Merge pull request #98358 from tanjing2020/scheduling_queue.go
migrate scheduling_queue.go to structured logging
2021-02-19 00:20:24 -08:00
Deepak Nair
49a9e28dd8 Substitute boolean maps with String sets 2021-02-18 20:59:32 -08:00
tanjing2020
d0eecbd0a9 migrate scheduling_queue.go to structured logging 2021-02-18 09:56:31 +08:00
Kubernetes Prow Robot
5ce38504fb
Merge pull request #99118 from adtac/remove-fwk-readme
scheduler/framework/plugins: delete moved docs
2021-02-16 13:45:44 -08:00
Kubernetes Prow Robot
0ce2036e81
Merge pull request #98949 from gavinfish/sched-rm-reflect1
Scheduler: remove reflect.DeepEqual for defaultpreemption, helper, imagelocality package
2021-02-16 07:13:06 -08:00
Adhityaa Chandrasekar
4e8454ae9d scheduler/framework/plugins: delete moved docs
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-02-16 13:26:27 +00:00
drfish
ac0b034b02 Remove reflect.DeepEqual for defaultpreemption, helper, and imagelocality package 2021-02-13 16:16:14 +08:00
Kubernetes Prow Robot
b1a2a99f1f
Merge pull request #98997 from gavinfish/sched-remove-todo
Scheduler: remove outdated TODO in interpodaffinity
2021-02-11 15:48:46 -08:00
drfish
2e7e075762 Remove outdated TODO in interpodaffinity 2021-02-11 20:45:00 +08:00
Kubernetes Prow Robot
ccdc59d26e
Merge pull request #98899 from Huang-Wei/remove-unknown-event
sched: remove Unknown queuing literal
2021-02-10 17:58:31 -08:00
Kubernetes Prow Robot
838bb6a567
Merge pull request #98663 from gavinfish/sched-remove-plugin-pt
Scheduler: change config.Plugins from pointers to objects
2021-02-10 15:36:15 -08:00
Wei Huang
04a40d1f18
sched: remove Unknown queuing literal 2021-02-10 11:03:07 -08:00
drfish
74315f9c56 Change config.Plugins from pointers to objects 2021-02-10 23:45:59 +08:00
tanjing2020
300d109d78 migrate to structured logging 2021-02-10 16:11:52 +08:00
Kubernetes Prow Robot
28e2e12b88
Merge pull request #98863 from chendave/test_coverage
Improve test coverage for service affinity
2021-02-08 17:04:02 -08:00
Dave Chen
06bc3b48af Improve test coverage for service affinity
Pods that are filtered by the plugin should has UID associated, otherwise all those
matching pods will be filtered out, this is the against of the spec of testcases.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-02-08 17:02:53 +08:00
dabaooline
7c99f426cd fix ignored podinfo parserr
Co-authored-by: Jie Shen <drfish.me@gmail.com>
2021-02-06 18:59:12 +08:00
Kubernetes Prow Robot
3416b6b0a4
Merge pull request #98715 from carlory/truncate-message
fix kube-scheduler cannot send event because the Note field is too large
2021-02-04 08:20:32 -08:00
Kubernetes Prow Robot
ebe7380b38
Merge pull request #98518 from tanjing2020/change-log
migrate default_preemption.go to structured logging
2021-02-03 19:54:28 -08:00
carlory
0b730f04ce fix kube-scheduler cannot send event because the Note field is too large 2021-02-04 10:36:11 +08:00
Kubernetes Prow Robot
0083786ca9
Merge pull request #98481 from gavinfish/sched-isstatusequal
Scheduler: add StatusEqual func for Status comparer
2021-02-03 13:32:28 -08:00
drfish
d15dacb57d Add Equal func for Status struct 2021-02-04 00:32:01 +08:00
drfish
ebb6fb5b0c Organize scheduler unit tests into subtests 2021-02-02 21:41:20 +08:00
Kubernetes Prow Robot
673a844834
Merge pull request #98338 from gavinfish/sched-remove-pro
Cleanup: remove prometheus dependencies for scheduler
2021-02-01 23:22:40 -08:00
Kubernetes Prow Robot
8096513aca
Merge pull request #92866 from cofyc/fix91281
scheduler: Extend ExtenderFilterResult to include UnschedulableAndUnresolvable nodes
2021-02-01 23:22:27 -08:00
Kubernetes Prow Robot
4e72a35b35
Merge pull request #98588 from gavinfish/sched-fw-ut
Scheduler: organize framework unit tests in subtests
2021-02-01 20:40:36 -08:00
Kubernetes Prow Robot
ba85bfee39
Merge pull request #98129 from chendave/expose_status
Expose node status so that external preemption plugins can use it
2021-02-01 19:24:40 -08:00
Kubernetes Prow Robot
f27318c0da
Merge pull request #98445 from damemi/taint-toleration-internal-helpers
Move Taint/Toleration helpers to component-helpers repo
2021-02-01 17:50:27 -08:00
tanjing2020
e62cfa7cc4 migrate default_preemption.go to structured logging 2021-02-02 09:38:23 +08:00
Kubernetes Prow Robot
ba8344435f
Merge pull request #98625 from gavinfish/sched-dup-log
Scheduler: remove duplicated error log in framework
2021-02-01 12:49:49 -08:00
Mike Dame
578ff3ec34 Move Taint/Toleration helpers to component-helpers repo
This is part of the goal for scheduling to remove dependencies on internal
packages for the scheduling framework. It also provides these functions in an
external location for other components and projects to import.
2021-02-01 11:06:03 -05:00
Mike Dame
ba72411aa2 Move GetPersistentVolumeClaimClass to component-helpers
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
chymy
ed6475ae48 migrate pkg/scheduler/internal/cache/debugger/comparer.go to structured logs
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-02-01 11:20:05 +08:00
Dave Chen
fe5a266a03 Include UnschedulableAndUnresolvable nodes into the status map
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-02-01 10:49:43 +08:00
drfish
b9ab8768b6 Remove duplicated error log in framework 2021-01-31 17:17:03 +08:00
drfish
0c3d8b9720 Organize framework unit tests in subtests 2021-01-31 13:34:52 +08:00
drfish
c959e23250 Remove prometheus dependencies for scheduler 2021-01-30 12:15:22 +08:00
Kubernetes Prow Robot
03168d2e32
Merge pull request #98540 from damemi/internal-helper-get-avoid-pods
Scheduler: move GetAvoidPodsFromNodeAnnotations to component-helpers
2021-01-29 15:11:48 -08:00
Yecheng Fu
9a2713503a multiple extenders and UnschedulableAndUnresolvable takes precedence
over Unschedulable
2021-01-29 11:32:43 +08:00
Dave Chen
9d48a44601 Expose node status so that external preemption plugins can use it
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-29 10:17:25 +08:00
Wei Huang
f8a6bdb044
Surface info of failed plugins during PerFilter and Filter 2021-01-28 12:20:42 -08:00
Mike Dame
73d8eba1a4 Scheduler: move GetAvoidPodsFromNodeAnnotations to component-helpers 2021-01-28 14:41:55 -05:00
Kubernetes Prow Robot
252887e39f
Merge pull request #98485 from gavinfish/sched-wrap-all-err
Scheduler: wrap all errors in pkg/scheduler
2021-01-28 08:21:46 -08:00
Jie Shen
f82e3c430c Wrap all errors in pkg/scheduler 2021-01-28 09:13:40 +08:00
Kubernetes Prow Robot
4b3d6369dd
Merge pull request #98453 from tanjing2020/change-log
Add pod information to the error logs
2021-01-27 14:51:07 -08:00
Kubernetes Prow Robot
21d3c73f54
Merge pull request #93179 from chendave/preemption_improve
prefer nominated node - IMPL
2021-01-26 21:03:40 -08:00
tanjing2020
53671ffcd2 Add pod information to the log 2021-01-27 09:49:06 +08:00
Kubernetes Prow Robot
bfac3e9309
Merge pull request #98364 from gavinfish/sched-error-interpod
Scheduler: wrap errors from DefaultPreemption and InterPodAffinity plugins
2021-01-26 09:40:46 -08:00
Kubernetes Prow Robot
41a42ef675
Merge pull request #98266 from gavinfish/sched-runtime-error
Scheduler: wrap errors for framework/runtime
2021-01-26 07:48:47 -08:00
Kubernetes Prow Robot
35871e49b7
Merge pull request #98134 from tanjing2020/change-log
migrate generic_scheduler.go and types.go to structured logs
2021-01-26 07:48:35 -08:00
drfish
a6f2736032 Wrap errors from DefaultPreemption and InterPodAffinity plugins 2021-01-26 23:00:12 +08:00
Jie Shen
b79c2ebd7e Wrap errors for framework/runtime 2021-01-26 13:48:58 +08:00
Dave Chen
6d800ffe07 Prefer nominated node in the new scheduling cycle
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-26 09:59:00 +08:00
tanjing2020
d59d10762f migrate generic_scheduler.go and types.go to structured logs 2021-01-26 09:31:05 +08:00
Kubernetes Prow Robot
fa3be1bcd2
Merge pull request #98096 from leileiwan/master
fix(*):inter pod affinity default min score is zero
2021-01-25 07:22:54 -08:00
drfish
8be6d9650c Update potentialVictims as framework.PodInfo type 2021-01-24 22:17:28 +08:00
leileiwan
65d2dda443 fix(*): init max score with -maxInt64 2021-01-24 17:30:27 +08:00
Wei Huang
2ba120dcfa
sched: avoid using shareable singleton instance 2021-01-21 22:47:12 -08:00
Kubernetes Prow Robot
39115c64b0
Merge pull request #97599 from gavinfish/refact-updatewithpod
Scheduler: Update the PreFilterExtensions interface to use PodInfo
2021-01-20 12:09:01 -08:00
Kubernetes Prow Robot
3fedfb8ed8
Merge pull request #97454 from lixiaobing1/nodename
modify hostname of ErrReason
2021-01-19 08:19:45 -08:00
drfish
d4418c1402 Update the PreFilterExtensions interface to use PodInfo 2021-01-19 00:49:52 +08:00
leileiwan
273de36b5d fix unit test 2021-01-18 22:55:37 +08:00
Kubernetes Prow Robot
c37905c06c
Merge pull request #97917 from gavinfish/refact-addpod
Scheduler: Add function AddPodInfo(*PodInfo) for NodeInfo struct
2021-01-16 00:25:43 -08:00
Kubernetes Prow Robot
38585884e3
Merge pull request #97184 from chendave/add_status
Show the details on the failure of preemption
2021-01-15 10:25:51 -08:00
Dave Chen
7315c1f6dd Show the details on the failure of preemption
Since the filter status is missed for the phase of preemption, there
will be no way to tell why the preemption failed for some reasons, and
those reasons could be different with the status from the main scheduling
process (the first failed plugin will hide other failures in the chain).

This change provides verbose information based on the node status generated
during pod preemption, those information helps us to diagnose the issue which
is happened during pod preemption.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-15 23:20:17 +08:00
Kubernetes Prow Robot
e1c1fd9edf
Merge pull request #97880 from justinsb/spelling
Fix spelling typos: scheduable -> schedulable
2021-01-15 03:43:51 -08:00
leileiwan
8eb8f8ab26 fix(*):inter pod affinity default min score is zero 2021-01-15 17:41:52 +08:00
Kubernetes Prow Robot
faaae71427
Merge pull request #97794 from chendave/cleanup_status
Refactor: rewrite `Merge` method to address readability and efficiency
2021-01-14 07:15:17 -08:00
Dave Chen
3c197c55ff Refactor: rewrite Merge method to address readability and efficiency
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-14 10:20:58 +08:00
Kubernetes Prow Robot
a28c802db7
Merge pull request #97538 from lingsamuel/requirement-return-field-error
make labels.NewRequirement returns aggregated field.ErrorList
2021-01-13 14:17:17 -08:00
drfish
90ba736433 Add function AddPodInfo(*PodInfo) for NodeInfo struct 2021-01-13 23:04:37 +08:00
Ling Samuel
a1f8dc41ef
make labels.NewRequirement returns aggregated field.ErrorList, make nodeaffinity parsing function use it
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2021-01-11 16:23:53 +08:00
Justin SB
8797738c02 Fix spelling typos: scheduable -> schedulable
Bulk fix of a common typo.
2021-01-09 12:59:33 -05:00
lixiaobing1
b5487d823c modify hostname of ErrReason 2021-01-06 09:25:25 +08:00
Kubernetes Prow Robot
86f8c3ee91
Merge pull request #97591 from gavinfish/sched-interpodaffinity-typo
Cleanup: fix typos in scheduler interpodaffinity package
2021-01-05 15:12:05 -08:00
Kubernetes Prow Robot
974404757d
Merge pull request #96929 from gavinfish/sched-plugin-core
Scheduler: Move PodPassesFiltersOnNode out of core to avoid plugin dependency
2021-01-05 11:46:13 -08:00
Kubernetes Prow Robot
07bd985724
Merge pull request #96561 from ialidzhikov/cleanup/csi-node-info
Remove CSINodeInfo feature gate
2021-01-05 11:46:00 -08:00
Kubernetes Prow Robot
172cb33f32
Merge pull request #97509 from aldudko/scheduler-go
Migrate scheduler.go, factory.go to structured logging
2021-01-05 09:02:11 -08:00
Kubernetes Prow Robot
3e36f78c42
Merge pull request #97521 from lixiaobing1/nodeselector
add node selector info in ErrReasonPod
2021-01-04 16:13:56 -08:00
drfish
2fcea1f737 Fix typos in scheduler interpodaffinity package 2020-12-30 14:20:07 +08:00
lixiaobing1
0e274441ba add node selector info in ErrReasonPod 2020-12-26 14:15:08 +08:00
Alex Dudko
b11e4f2484 Migrate scheduler.go, factory.go to structured logging 2020-12-24 18:50:30 -08:00
chymy
6ec7b823c1 Add a hyperlink to issue 95156
Signed-off-by: chymy <chang.min1@zte.com.cn>
2020-12-24 15:41:05 +08:00
Kubernetes Prow Robot
94be86aaa2
Merge pull request #97349 from aldudko/kube-scheduler-logging
Migrate pkg/scheduler logs to structured logging
2020-12-22 15:02:26 -08:00
Kubernetes Prow Robot
8c6f244c18
Merge pull request #97302 from jindezgm/patch-1
Refresh Timestamp when pod is not present in the three sub-queues
2020-12-22 07:52:26 -08:00
drfish
070773c399 Remove scheduler plugins package's dependency from core package 2020-12-20 00:18:40 +08:00
Alex Dudko
c03b4c7850 Migrate pkg/scheduler logs to structured logging
in pkg/scheduler/eventhandlers.go
  * add event for unscheduled pod
  * delete event for unscheduled pod
  * add event for scheduled pod
  * delete event for scheduled pod

in pkg/scheduler/framework/plugins/defaultbinder/default_binder.go
  * Attempting to bind pod to node

in pkg/scheduler/scheduler.go
  * Updating pod condition
  * Attempting to schedule pod
  * Skip schedule deleting pod
2020-12-18 10:45:00 -08:00
KeZhang
fca0636090 cleanup unused constants for deprecated flags 2020-12-16 15:00:52 +08:00
jinde.zgm
17b084938a
fix gofmt bug 2020-12-15 20:07:47 +08:00
Kubernetes Prow Robot
989b2fd371
Merge pull request #97221 from 249043822/br-scheduler-metrics
cleanup constants for scheduler metrics
2020-12-14 17:45:56 -08:00
jindezgm
5e6177897d
Refresh Timestamp when pod is not present in the three sub-queues
The pInfo.Timestamp is refreshed but the sort in activeQ or podBackoffQ is not be updated when pod  is already present in the backoff or active queue.
AddUnschedulableIfNotPresent() return error if pod is already present in the backoff or active queue, and there is no re-add.
So  refresh  pInfo.Timestamp when  the pod is not present in the three sub-queues, otherwise need to update the order of the pod in the active or backoff queue, for example p.activeQ.Update(pInfo)
2020-12-14 22:39:08 +08:00
Kubernetes Prow Robot
bd4d197b52
Merge pull request #96447 from chendave/bind_postfilter
Remove the deprecated metrics from scheduler
2020-12-14 06:31:28 -08:00
Dave Chen
5144e2ec78 Remove the deprecated metrics from scheduler
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.

Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
KeZhang
1208c53c8b cleanup constants for scheduler metrics 2020-12-11 14:22:20 +08:00
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Aldo Culquicondor
4736b396f9 Return field.Errors from node affinity parsing
Change-Id: Id91dfb29b9f0322e2ff6035387a0a3df92b5db37
2020-12-09 13:47:07 -05:00
Kubernetes Prow Robot
5996839425
Merge pull request #96745 from lingsamuel/scheduler-validation
Use field.Error(s) in scheduler plugin args validation
2020-12-09 02:10:50 -08:00
Kubernetes Prow Robot
f367cb671a
Merge pull request #96774 from lixiaobing1/noderesources2
clarify the logic of noderesources comparison
2020-12-08 20:03:01 -08:00
Kubernetes Prow Robot
dfd3f0ffc3
Merge pull request #96713 from lixiaobing1/fixTypoUtilization
fix typos in type functionShapePoint
2020-12-08 18:36:05 -08:00
Kubernetes Prow Robot
d7a389ce7a
Merge pull request #96582 from chenyw1990/fixSchedulerBug
don't add pod to podQueue when the NodeName of pod is not empty
2020-12-08 17:29:35 -08:00
Kubernetes Prow Robot
83b2c7a1bf
Merge pull request #96311 from thockin/kep-1659-topology-labels
Convert users of old failure-domain labels to new
2020-12-08 17:28:27 -08:00
Kubernetes Prow Robot
9a175b9b2a
Merge pull request #96223 from SataQiu/fix-scheduler-20201104
scheduler: parse Pod's Node affinity once in PreScore phase
2020-12-08 17:28:06 -08:00
Ling Samuel
77f0f442a1
Use field.Error(s) in scheduler plugin args validation
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2020-12-02 08:49:33 +08:00
SataQiu
2b38078de1 scheduler: parse Pod's Node affinity once in PreScore phase
Signed-off-by: SataQiu <1527062125@qq.com>
2020-11-26 11:19:52 +08:00
lixiaobing1
e12fab6779 optimize the logic of noderesources comparision 2020-11-24 08:31:28 +08:00
rootlh
42c00bc523 fix bug: concurrent map writes error 2020-11-22 01:40:51 +08:00
lixiaobing1
8b351ac9d0 fix typos in type functionShapePoint 2020-11-19 20:22:09 +08:00
chenyw1990
a8add50ab6 don't add pod to podQueue when the NodeName of pod is not empty 2020-11-19 08:01:59 +08:00
Kubernetes Prow Robot
cd21a1240a
Merge pull request #94866 from smarterclayton/scheduling_metrics
scheduler: Implement resource metrics at /metrics/resources
2020-11-12 18:36:23 -08:00
Kubernetes Prow Robot
ae95984e88
Merge pull request #96426 from damemi/print-scheduler-config
Log defaulted kube-scheduler component config at startup
2020-11-12 16:03:01 -08:00
Mike Dame
14fa76d92f Log defaulted kube-scheduler component config at startup 2020-11-12 16:03:11 -05:00
Tim Hockin
4068402459 Change trivial topology labels
In these cases the actual label key is incidental.
2020-11-12 11:21:37 -08:00
Kubernetes Prow Robot
3e43d5b92a
Merge pull request #96292 from wangyx1992/cleanup-scheduler-log-capatilization
cleanup: fix log capitalization in scheduler
2020-11-12 11:20:45 -08:00
Clayton Coleman
264496cc41
scheduler: Implement resource metrics at /metrics/resources
Implement pod resource metrics as described in KEP 1916. The new
`/metrics/resources` endpoint is exposed on the active scheduler
and reports kube_pod_resources* metrics that present the effective
requests and limits for all resources on the pods as calculated by
the scheduler and kubelet. This allows administrators using the
system to quickly perform resource consumption, reservation, and
pending utilization calculations when those metrics are read.
Because metrics calculation is on-demand, there is no additional
resource consumption incurred by the scheduler unless the endpoint
is scraped.
2020-11-12 12:37:38 -05:00
Yixiang2019
842cc6b4e2 cleanup: fix log capitalization in scheduler
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-11-12 20:10:26 +08:00
Kubernetes Prow Robot
c3769096c6
Merge pull request #96439 from Huang-Wei/sched-policy-defaultpreemption
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy
2020-11-11 07:44:18 -08:00
lixiaobing1
2cba0a02f7 fix note delete to update according to code 2020-11-11 09:50:47 +08:00
Wei Huang
47a7c374c6
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy 2020-11-10 17:48:32 -08:00
Aldo Culquicondor
d6ef6d6e43 Capture defaulted plugin configs from framework
Some plugin configs are not produced until the framework is instantiated. Add a callback to capture them inside the framework constructor.

Change-Id: Id3f709b6461ccd0eafec7d21412cda093d9c4645
2020-11-10 19:41:18 -05:00
Wei Huang
6e0fb9ad7f
Ignore specific Pod update events in scheduler 2020-11-09 20:35:01 -08:00
Kubernetes Prow Robot
e5194dd936
Merge pull request #96202 from alculquicondor/default-node-affinity
Add AddedAffinity to NodeAffinity Filter and Score plugin
2020-11-09 15:14:55 -08:00
Aldo Culquicondor
3ce145787a Add AddedAffinity to the NodeAffinityArgs
And use it in Filter and Score.

Change-Id: I173d8f2d5578762e9873181d5b44ea30b6dbbbc2
2020-11-09 15:19:15 -05:00
tangwz
3341023664 scheduler: remove FrameworkFactory. 2020-11-07 00:07:36 +08:00
lixiaobing1
6a41d81264 remove annotation cache sync because of code removed 2020-11-06 18:41:08 +08:00
Kubernetes Prow Robot
bd95fb101d
Merge pull request #94814 from adtac/preemption2
optimise defaultpreemption: enumerate fewer candidates
2020-11-05 21:18:50 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Kubernetes Prow Robot
2d6cd683bd
Merge pull request #95541 from cofyc/fix95538
volume binding: report UnschedulableAndUnresolvable status instead of an error when bound PVs not found
2020-11-05 15:16:51 -08:00
Kubernetes Prow Robot
43a0007fae
Merge pull request #96062 from Huang-Wei/sched-aware-of-nodes
Ensure created nodes are present in scheduler cache before scheduling
2020-11-05 13:13:05 -08:00
Kubernetes Prow Robot
3222053798
Merge pull request #96010 from serathius/datapolicy-scheduler-pkg
Add datapolicy tags to pkg/scheduler/
2020-11-05 06:31:35 -08:00
Yecheng Fu
0961891a7a report UnschedulableAndUnresolvable status instead of an error when PVCs can't find bound
persistent volumes

This is an user error. We should't report an error.
2020-11-05 10:28:40 +08:00
Kubernetes Prow Robot
05e5a49e0a
Merge pull request #96105 from lixiaobing1/nodeInfo
fix n to nodeInfo easy to understand
2020-11-04 15:47:06 -08:00
Adhityaa Chandrasekar
a3d94b53ca optimise defaultpreemption: enumerate fewer candidates
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-11-04 22:39:58 +00:00
Kubernetes Prow Robot
48fa50fb5e
Merge pull request #95944 from wangyx1992/error-log-captialize
cleanup: fix some error log capitalization
2020-11-04 13:25:21 -08:00
Kubernetes Prow Robot
9866d4303a
Merge pull request #96151 from warmchang/volumelimittype
Remove maximum volume limit comment which is easily outdated
2020-11-04 07:02:05 -08:00
William Zhang
a7919225e2 Remove maximum volume limit comment which is easily outdated. 2020-11-04 21:39:22 +08:00
Wei Huang
f054765762
Add a function to ensure created nodes are present in scheduler cache 2020-11-03 15:25:44 -08:00
Aldo Culquicondor
d572249d30 Add runtime representation of []v1.PreferredSchedulingTerm
to be used for repeatedly scoring nodes.

Change-Id: Ib1a0866979ce6cf75d1d9668c4bf8f6fb57298b2
2020-11-03 10:21:31 -05:00
Kubernetes Prow Robot
43edb40632
Merge pull request #96092 from Huang-Wei/honor-false-LocalStorageCapacityIsolation
Honor disabled LocalStorageCapacityIsolation in scheduling
2020-11-02 17:12:15 -08:00
lixiaobing1
03cfd30ee2 fix n to nodeInfo easy to understand 2020-11-03 08:44:55 +08:00
Wei Huang
fb782eee57
Honor disabled LocalStorageCapacityIsolation in scheduling 2020-11-02 13:21:08 -08:00
Kubernetes Prow Robot
17dcccbe07
Merge pull request #96109 from ingvagabund/move-IsScalarResourceName-under-scheduler
Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util
2020-11-02 10:24:27 -08:00
Kubernetes Prow Robot
332d17c7f5
Merge pull request #95731 from farah/split-scheduler
Delete framework/v1alpha1 folder and change remaining import paths
2020-10-30 11:14:22 -07:00
Kubernetes Prow Robot
d0bee69fc9
Merge pull request #94636 from hprateek43/cpu_threads_parameter
Added config parameter for CPU threads
2020-10-29 21:04:05 -07:00
Mike Dame
b7ba77c25b Move MatchNodeSelectorTerms to k8s.io/component-helpers 2020-10-29 13:39:13 -04:00
Marek Siarkowicz
899b9c1f74 Add datapolicy tags to pkg/scheduler/ 2020-10-29 18:24:41 +01:00
Kubernetes Prow Robot
2729b8e375
Merge pull request #95871 from damemi/move-unchanged-scheduler-helpers
Change function signature for MatchNodeSelectorTerms
2020-10-29 04:18:59 -07:00
Harsh Singh
1763688d71 Added config parameter for CPU threads 2020-10-29 12:16:10 +05:30
Yixiang2019
62710bc034 cleanup: fix some error log capitalization
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-10-28 16:44:54 +08:00
Kubernetes Prow Robot
93fcb22e64
Merge pull request #95687 from tangwz/make_profile_an_interface
scheduler: make Profile an interface.
2020-10-27 11:41:26 -07:00
Mike Dame
d9f334683e Change function signature for MatchNodeSelectorTerms
As part of externalizing this function to the k8s.io/component-helpers repo,
this commit simplifies the function signature and makes its 2 helpers private
(nodeSelectorRequirementsAsSelector and nodeSelectorRequirementsAsFieldSelector).
2020-10-27 12:52:06 -04:00
Jan Chaloupka
6822a0ec20 Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util
IsScalarResourceName is imported only inside pkg/scheduler packages.
2020-10-27 13:40:32 +01:00
tangwz
5f3efa671d scheduler: make Profile an interface. 2020-10-27 09:13:04 +08:00
Kubernetes Prow Robot
5ed903dbfd
Merge pull request #95809 from alculquicondor/rebench-spread
Optimize NormalizeScore for PodTopologySpread
2020-10-26 11:23:02 -07:00
Kubernetes Prow Robot
1fcd02cc2e
Merge pull request #95812 from Huang-Wei/fix-pts-node-miss-label
Fix a bug that Pods with topologySpreadConstraints get scheduled to nodes without required labels
2020-10-23 09:55:57 -07:00
Aldo Culquicondor
e721576d55 Optimize NormalizeScore for PodTopologySpread
Change-Id: I928174a220c8c0f4b69180fdfb2f075278a482be
2020-10-23 11:15:15 -04:00
Aldo Culquicondor
ab7a38220f Add 5k nodes benchmark for pod topology spreading
Change-Id: I1a5ed73ba03570671c0a92277678c0f3f786385f
2020-10-23 11:15:15 -04:00
Kubernetes Prow Robot
0f4f699639
Merge pull request #95772 from alculquicondor/fix-spread-bench
Fix labels for spreading benchmark
2020-10-22 22:17:26 -07:00
Ali
bfdeda58b7 Delete framework/v1alpha1 folder and change remaining import paths 2020-10-23 13:16:13 +11:00
Wei Huang
f7a93ea915
Fix a bug that Pods with topologySpreadConstraints get scheduled to nodes without required labels 2020-10-22 15:56:16 -07:00
Amim Knabben
8ed6ca58bc Replacing factory tests with scheduler.New and options 2020-10-22 11:43:28 -04:00
Aldo Culquicondor
15d2ab1615 Fix labels for spreading benchmark
Nodes where being created with beta zone label, whereas the service was using stable.

Change-Id: I08ba1b6c083217759524236bde3888e527b4a44f
2020-10-21 15:51:44 -04:00
Aldo Culquicondor
87c8349bdc Graduate DefaultPodTopologySpread to beta
And set to enabled by default

Change-Id: Ie4cc4758c52492924cb0663450f2747908cb5882
2020-10-19 16:58:09 -04:00
Kubernetes Prow Robot
fbe806ef9e
Merge pull request #95448 from alculquicondor/policy-spread
Map SelectorSpreadPriority to PodTopologySpread plugin
2020-10-15 12:55:25 -07:00
Aldo Culquicondor
95dd99905f Map SelectorSpreadPriority to PodTopologySpread plugin
when DefaultPodTopologySpread feature is enabled

If SelectorSpreadPriority is in use, PodTopologySpread gets inevitably enabled.
When only EvenPodsSpreadPriority is in use, PodTopologySpread is configured without system defaults.

Change-Id: I2389a585cd8ad0bd35b0d2acae1665cd46908b3e
2020-10-14 13:45:26 -04:00
He Jie Xu
6e55b88725 Reorder default Filter plugins to have UnschedulableAndUnresolvable first 2020-10-14 09:40:51 +00:00
Kubernetes Prow Robot
6268e6f990
Merge pull request #95069 from farah/split-scheduler
Move scheduler interface to pkg/scheduler/framework
2020-10-13 14:23:54 -07:00
Kubernetes Prow Robot
e3d7d067ab
Merge pull request #95066 from SataQiu/wrap-errors-2020092502
Wrap errors for NodeLabel, NodePorts, NodePreferAvoidPods and NodeResourcesBalancedAllocation plugins
2020-10-13 09:46:27 -07:00
Kubernetes Prow Robot
dc98ed96f6
Merge pull request #95085 from arghya88/wrap-error-taint-toleration-plugin
Wrap errors in taint-toleration, service-affinity plugin
2020-10-13 08:16:26 -07:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Kubernetes Prow Robot
4bbf4111e2
Merge pull request #92507 from ingvagabund/staging-library-go
Initialize k8s.io/component-helpers staging repository
2020-10-12 10:30:48 -07:00
Jan Chaloupka
274c536da3 Removing GetPodPriority from pkg/api and importing PodPriority from k8s.io/component-helpers 2020-10-11 21:40:11 +02:00
Kubernetes Prow Robot
c72b30b3b7
Merge pull request #93534 from everpeace/score-in-preemption-handle
scheduler: expose Run[Pre]ScorePlugins functions to PreemptionHandle(through PluginRunner)
2020-10-09 20:34:47 -07:00
SataQiu
a0efc33158 wrap errors from NodeLabel, NodePorts, NodePreferAvoidPods and NodeResourcesBalancedAllocation plugins 2020-10-10 11:00:40 +08:00
Aldo Culquicondor
c8a0b9e8e7 Add defaultingType to PodTopologySpreadArgs
Change-Id: Ibf6a4fdb39a31fe9deed68de7e7cb24a9bf9d06a
2020-10-09 17:12:12 -04:00
Kubernetes Prow Robot
281412b5e9
Merge pull request #95191 from alculquicondor/policy-default-spread
Move predicates and priorities configuration creation to Policy mapping
2020-10-05 17:04:33 -07:00
Kubernetes Prow Robot
2f15024e7d
Merge pull request #95157 from adtac/schedplugins
scheduler framework: document how to make plugins configurable
2020-10-05 17:04:20 -07:00
Adhityaa Chandrasekar
3e7b2c0707 scheduler framework: document how to make plugins configurable
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-10-05 21:29:11 +00:00
Aldo Culquicondor
a0b72dbef9 Move predicates and priorities configuration creation to Policy mapping
For separation of concerns. Also make the producers receive the
existing configuration so they can take decisions based on them.

Change-Id: Id5db5588aabb90e7b8f087bd3f3c967e86dc4acc
2020-10-01 15:04:24 -04:00
Kubernetes Prow Robot
5b33feb943
Merge pull request #95146 from draveness/patch-5
fix: use ">" instead of ">=" in resource allocation
2020-09-30 12:55:08 -07:00
Draven
79f05c65a0 fix: use ">" instead of ">=" in resource allocation 2020-09-30 11:06:17 +08:00
Kubernetes Prow Robot
8deb70c2ad
Merge pull request #95091 from arghya88/wrap-errors-plugins-selectorspread/podtopologyspread
wrap errors in selectorspread and podtoplogyspread plugin
2020-09-29 13:43:25 -07:00
Kubernetes Prow Robot
3a987d5b85
Merge pull request #95130 from alculquicondor/fix-snapshot
Fix UpdateSnapshot when Node is partially removed
2020-09-28 21:31:38 -07:00
Aldo Culquicondor
d6f09f7dfb Fix UpdateSnapshot when Node is partially removed
Change-Id: I5b459e9ea67020183c87d1ce0a2380efb8cc3e05
2020-09-28 17:50:41 -04:00
Aldo Culquicondor
290bdf3f08 Fix test name TestDump
Change-Id: If885303b86060aed7a3e2aa20450cadd1f30752c
2020-09-28 15:30:05 -04:00
Arghya Sadhu
8154dc95b5 wrap errors in selectorspread and podtoplogyspread plugin 2020-09-28 21:28:54 +05:30
Arghya Sadhu
ad415b9f54 wrap errors in service affinity plugin 2020-09-27 11:28:31 +05:30
Arghya Sadhu
ff3c751afc wrap errors in taint-toleration plugin 2020-09-26 21:16:41 +05:30
SataQiu
8c51c9955c wrap errors from DefaultPreemption, ImageLocality and NodeAffinity plugins 2020-09-25 10:38:27 +08:00
Kubernetes Prow Robot
44cd4fcedc
Merge pull request #95001 from arghya88/deprecate-scheduler-metrics
deprecate scheduler metrics
2020-09-24 13:57:48 -07:00
Kubernetes Prow Robot
769f047675
Merge pull request #95024 from chendave/exported
Use the exported struct member directly
2020-09-24 09:24:34 -07:00
Kubernetes Prow Robot
48cb3b2b4f
Merge pull request #94850 from SataQiu/structed-log-20200917
Using structured logging in scheduler framework runtime
2020-09-24 09:24:06 -07:00
SataQiu
47c58c3785 using structured logging in scheduler framework runtime 2020-09-24 21:54:31 +08:00
Dave Chen
a9b71c198b Use the exported struct member directly
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-09-24 16:15:11 +08:00
Arghya Sadhu
078b355da3 deprecate scheduler metrics BindingLatency and SchedulingAlgorithmPreemptionEvaluationDuration 2020-09-23 17:15:13 +05:30
Kubernetes Prow Robot
18782e9996
Merge pull request #94884 from arghya88/remove-deprecated-scheduler-metrics
removing deprecated scheduler metrics
2020-09-22 14:42:32 -07:00
Kubernetes Prow Robot
9aae0ac354
Merge pull request #94864 from alculquicondor/empty-default-constraints
Tests for empty constraints array when DefaultPodTopologySpread is enabled
2020-09-22 14:42:09 -07:00
Kubernetes Prow Robot
a576196076
Merge pull request #94413 from chendave/flake
Enhancement on the testcase to cover more possibilities
2020-09-22 12:23:20 -07:00
Arghya Sadhu
c62f0dd165 removing deprecated scheduler metrics 2020-09-22 21:04:15 +05:30
Aldo Culquicondor
e856706984 Tests for empty constraints array when DefaultPodTopologySpread is enabled
An empty array in the configuration signifies that the user operator intends to disable the k8s provided default for TopologyPodSpread.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Ib4696a49f0ba748183aef417b0882d494b89f602
2020-09-17 14:55:53 -04:00
Kubernetes Prow Robot
965137a992
Merge pull request #94692 from alculquicondor/wrap_errors_min
Wrap errors from VolumeBinding and DefaultBinder plugins
2020-09-15 18:27:34 -07:00
Kubernetes Prow Robot
b14fcc544b
Merge pull request #92846 from Huang-Wei/rm-pvcLister
Remove pvcLister from genericScheduler
2020-09-15 07:54:07 -07:00
Jimmy Zhang
1f0bcc8f5d optimize the use of informer for scheduler 2020-09-15 18:21:40 +08:00
Wei Huang
185ba08fcd
Move podPassesBasicChecks() to VolumeBinding plugin 2020-09-11 13:54:02 -07:00
Wei Huang
42cfda2f94
Remove pvcLister from genericScheduler
PVCLister can be fetched from sharedInformerFactory.
2020-09-11 13:54:01 -07:00
Kubernetes Prow Robot
d39214ade1
Merge pull request #94603 from wojtek-t/migrate_leader_election_to_leases_todos
Migrate scheduler, controller-manager and cloud-controller-manager to use LeaseLock
2020-09-11 00:08:14 -07:00
Kubernetes Prow Robot
bd39d3933b
Merge pull request #94701 from Huang-Wei/rm-disablePreemption
Remove field disablePreemption from internal scheduler codebase
2020-09-10 22:14:14 -07:00
Aldo Culquicondor
7fb40fc03c Wrap errors on VolumeBinding plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I23053528ac6857124fddd7f9fa26e122202ff4bd
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-09-10 16:22:16 -04:00
Aldo Culquicondor
94985e28ac Wrap errors on DefaultBinder plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I2e3c8aa2c1a2a5102e9110b6cff91d66a79a90f1
2020-09-10 16:22:16 -04:00
Aldo Culquicondor
aefcfcc627 Wrap errors when running Bind plugins
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I29f8d3ea219a5cf667cf718545e8dfff971ca6ec
2020-09-10 16:22:15 -04:00
Aldo Culquicondor
a482d7ef8e Wrap errors when running PreBind plugins
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I31bf35d7e96b1cebb285cf03ffad310d83224d9c
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-09-10 16:22:12 -04:00
Wei Huang
eb3d2de543
Remove field disablePreemption from internal scheduler codebase 2020-09-10 13:06:42 -07:00
Aldo Culquicondor
34102140e2 Hold error in framework's Status
To allow obtaining and comparing the original error.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Ibcef89f7b876a273ecc24548f8d204966e0e6059
2020-09-10 10:52:36 -04:00
wojtekt
805c1753cd Migrate scheduler, controller-manager and cloud-controller-manager to lease lock. 2020-09-10 11:57:18 +02:00
Wei Huang
4f7ae54f3e
fixup: add podLister as a member field of DefaultPreemption 2020-09-08 18:27:23 -07:00
Wei Huang
52bf6ba8ba
Preemption plugin to fetch pod from informer cache 2020-09-08 18:27:23 -07:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -07:00
Kubernetes Prow Robot
44ecd80cf1
Merge pull request #91557 from chendave/cleanup
cleanup: remove useless methods
2020-09-08 06:27:44 -07:00
Kubernetes Prow Robot
d239cdfbc0
Merge pull request #94059 from ahg-g/ahg-anti-affinity
Track pods with required anti-affinity
2020-09-08 04:54:12 -07:00
Kubernetes Prow Robot
6b388f0684
Merge pull request #94187 from chendave/avoid_apicall
Avoid the API call to update pod if nothing is changed
2020-09-07 15:01:44 -07:00
Kubernetes Prow Robot
62d46b8b8b
Merge pull request #94573 from siadat/double-pointer
Remove unnecessary double-pointer
2020-09-07 14:02:07 -07:00
Kubernetes Prow Robot
b837699f74
Merge pull request #94125 from soulxu/only_includes_all_nodes_for_preferred
Only process all nodes when incoming pod has no preferred affinity
2020-09-07 14:01:58 -07:00
Kubernetes Prow Robot
2481e88485
Merge pull request #93473 from Nordix/sched-fix-mael
Change nodeInfolist building logic in scheduler
2020-09-07 14:01:44 -07:00
Sina Siadat
6b18ff81a5 Remove unnecessary double-pointer 2020-09-06 16:22:06 +04:30
Kubernetes Prow Robot
217d89a59f
Merge pull request #93843 from soulxu/fast_path_podaffinity
Fast return when no any matched anti-affinity terms
2020-09-04 03:31:55 -07:00
Dave Chen
4b2c054e59 Enhancement on the testcase to cover more possibilities
This change enriches the testcase of `TestPriorityQueue_MoveAllToActiveOrBackoffQueue`
to cover the case that pods in the unschedulableQ could be moved to activeQ after the
backing off.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-09-03 14:04:03 +08:00
Dave Chen
77056e89e4 Avoid the API call to update pod if nothing is changed
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-09-02 14:38:11 +08:00
Yuan Chen
f6f9bf3e76 Update comments in pkg/scheduler/framework/v1alpha1/interface.go 2020-08-31 15:51:42 -07:00
Kubernetes Prow Robot
2382628f16
Merge pull request #93246 from lixiaobing1/lxb-remove-algorithm
remove some notes about scheduler/algorithm
2020-08-28 06:36:18 -07:00
Kubernetes Prow Robot
72350a3cf7
Merge pull request #93083 from Huang-Wei/dupe-import-alias
Remove duplicate path imports
2020-08-28 04:34:53 -07:00
Kubernetes Prow Robot
27c9bd4fd4
Merge pull request #92939 from yuanchen8911/patch-1
Fix an error in PreBindPlugin comment
2020-08-27 19:08:04 -07:00
Kubernetes Prow Robot
a4103dfeaf
Merge pull request #92819 from chendave/cleanup_machine
Change the node name from "machine" to "node"
2020-08-27 19:06:57 -07:00
Kubernetes Prow Robot
9062c43b76
Merge pull request #94211 from soulxu/cleanup_candidates
Initialize candidate directly instead of iterating the array of candidates
2020-08-27 16:08:06 -07:00
Kubernetes Prow Robot
9bba0390ed
Merge pull request #94083 from soulxu/shrink_lock_scope
Only lock statuses map when status isn't successful
2020-08-27 16:07:57 -07:00
Kubernetes Prow Robot
90b8163b32
Merge pull request #93808 from zhouya0/seperate_registry_and_feature_gates
Scheduler ListAlgorithmProviders function return providers directly
2020-08-27 16:07:28 -07:00
Kubernetes Prow Robot
a5160414e0
Merge pull request #93706 from SimpCosm/fix/scheduler-plugin-comment
Fix an error in NodeUnschedulable plugin comment
2020-08-27 16:06:48 -07:00
Kubernetes Prow Robot
19064f4738
Merge pull request #93669 from Mr-Linus/patch-1
Remove unnecessary conversion
2020-08-27 16:06:25 -07:00
He Jie Xu
0e8bd4c550 Initialize candidate directly instead of iterating the array of candidates
Using existing victimsMap to get the victims, then it is easy to build candidate
directly.
2020-08-27 23:29:36 +08:00
Kubernetes Prow Robot
06eb495a0f
Merge pull request #93896 from alculquicondor/speed-up-volume-binding-test
Improve running time of TestSchedulerWithVolumeBinding
2020-08-26 19:41:10 -07:00
He Jie Xu
ccd8eb3b1b Only process all nodes when incoming pod has no preferred affinity
Currently, in interpodaffinty plugin, it only processes all nodes when the incoming
pod with affinity. Actually, it only cares about all nodes when the incoming pod
with preferred affinity. Then it will reduces the number of nodes need to be
processed.
2020-08-25 16:13:17 +08:00
Linus Lee 李俊江
e55856048d Remove unnecessary conversion
Update framework.go

Update framework.go

Update framework.go

remove unnecessary conversion

remove unnecessary conversion

remove unnecessary conversion

remove unnecessary conversion
2020-08-25 10:07:11 +08:00
Kubernetes Prow Robot
1c93be24ee
Merge pull request #93629 from cofyc/93009
fix flaky TestVolumeBinding unit test
2020-08-21 08:33:40 -07:00
Abdullah Gharaibeh
a8873e1a43 Track pods with required anti-affinity
This is a performance optimization that reduces the overhead of inter-pod affinity PreFilter calculaitons. Basically
eliminates that overhead when no pods in the cluster use required pod anti-affinity. This offered 20% improvement on 5k clusters for preferred anti-affinity benchmarks.
2020-08-21 10:09:21 -04:00
He Jie Xu
dc52b69ddc Only lock statuses map when status isn't successful
Determine the status successful or not first, that will reduce the chance
of lock contention.
2020-08-18 22:40:15 +08:00
maelk
fc5edb8c12
Change nodeInfolist building logic in scheduler
This commit transforms the next() function of the scheduler node
tree into a listNodes() function that directly returns a list of
nodes, going through the zones in a round-robin fashion. This
removes the flawed logic of the next() function.
2020-08-18 11:35:14 +03:00
Kubernetes Prow Robot
3647766cbc
Merge pull request #93938 from alculquicondor/revert-node-delete
Keep track of remaining pods when a node is deleted
2020-08-13 13:25:41 -07:00
Aldo Culquicondor
dfe9e413d9 Keep track of remaining pods when a node is deleted.
The apiserver is expected to send pod deletion events that might arrive at a different time. However, sometimes a node could be recreated without its pods being deleted.

Partial revert of https://github.com/kubernetes/kubernetes/pull/86964

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I51f683e5f05689b711c81ebff34e7118b5337571
2020-08-13 14:24:01 -04:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
lixiaobing1
7920de5b57 remove some notes about scheduler/algorithm 2020-08-13 10:01:54 +08:00
zhouya0
a1c3ebdffc Seperate registry and feature gates 2020-08-12 09:06:21 +08:00
Kubernetes Prow Robot
4750523bac
Merge pull request #93893 from alculquicondor/fix-scheduler-test
Sync cache before starting scheduler test
2020-08-11 15:31:46 -07:00
Aldo Culquicondor
1978866474 Improve running time of TestSchedulerWithVolumeBinding
Only wait for finished binding or error, but not both

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I13d16e6c7c45c6527591aa05cc79fc5e96d47a68
2020-08-11 17:31:29 -04:00
Aldo Culquicondor
24f817a487 Sync cache before starting scheduler test
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I9629e1d6d510607b505b0302e23d67e0ae4a662e
2020-08-11 13:36:54 -04:00
Yecheng Fu
1176ef9c7d forget the pod when the reserve plugins fail
and move the metrics function calls before all other functions
2020-08-11 21:28:33 +08:00
He Jie Xu
75ccb90407 Fast return when no any matched anti-affinity terms
When check the incoming pod's anti-affinity rules, there is change to
return early when there is no any matched anti-affinity terms in the
whole cluster.
2020-08-10 14:53:10 +08:00
houmin
868dd41a96 Fix an error in NodeUnschedulable plugin comment 2020-08-10 11:20:23 +08:00
Kubernetes Prow Robot
377287ad37
Merge pull request #93660 from damemi/1.19-affinity-validation
Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
2020-08-08 03:40:19 -07:00
Mike Dame
012245c5b9 Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
The lack of this validation on incoming pods causes unpredictable cluster outcomes
when later calculating affinity results against existing pods (see #92714). This fix
quickly addresses the main source where these problems should be caught.

It is unfortunately difficult to add this validation directly to the API server due
to the fact that it may break migrations with existing pods that fail this check. This
is a compromise to address the current issue.
2020-08-07 12:17:40 -04:00
Shingo Omura
ef1fab7642
expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
Yecheng Fu
96d0408a89 fix TestVolumeBinding unit test 2020-08-03 07:06:06 +08:00
Kubernetes Prow Robot
c1b772fb33
Merge pull request #93516 from soulxu/fix_node_tree_test
Create new slice to avoid modify original fake data
2020-08-01 22:59:39 -07:00
Wei Huang
0e71facefe
Hold Pod in cache until all other cleanup work is completed
- Move "ForgetPod" after "RunReservePluginsUnreserve", so that the cache would hold the pod to
  avoid it's being retried simutaneously until Unreserve is completed.
- Move "assume" ahead of "RunReservePluginsReserve". This is based on the fact that "ForgetPod" is
  the last step of failure path, so "assume" should be reversly treated as the first step. The
  current failure path is like this:
  assume -> reserve -> unreserve -> forgetPod -> recordingFailure
- Make subtests of TestReservePluginUnreserve stateless
2020-07-29 11:27:19 -07:00
He Jie Xu
33a7e94b6a Create new slices to avoid modify original fake data
When create fake data for the nodeTree unittests, The 'append' is invoked
on the common fake data set. That makes the unittests is running with unexpected
fake data after that.
2020-07-29 11:36:47 +08:00
Kubernetes Prow Robot
19caf38665
Merge pull request #93425 from liggitt/string-cast
Fix int->string casts
2020-07-24 23:12:16 -07:00
Jordan Liggitt
124a5ddf72 Fix int->string casts 2020-07-24 16:23:12 -04:00
Kubernetes Prow Robot
5a50c5c95f
Merge pull request #93355 from Nordix/sched-fix-mael
Fix scheduler issue with nodetree additions
2020-07-24 12:10:22 -07:00
Maël Kimmerlin
c2ec8bedbc
Fix scheduler issue with nodetree additions
When nodes are added in multiple zones at once, the nodeTree next
function does not return a correct list of nodes but repeats some
This commit resets the index before starting to call next() to
prevent this issue

Special thanks to igraecao for the help in finding the bug

Co-authored-by: igraecao <matvej.yolli@outlook.com>
2020-07-24 09:42:53 +03:00
Kubernetes Prow Robot
e884b40e73
Merge pull request #93371 from ahg-g/ahg-volume
Optimize VolumeRestriction plugin
2020-07-23 16:10:23 -07:00
Abdullah Gharaibeh
5e81a2de98 Optimize VolumeRestrictions scheduler plugin 2020-07-22 23:00:01 -04:00
Abdullah Gharaibeh
44d9497133 Increase the size of the buckets for PodSchedulingDuration scheduler metric. 2020-07-22 16:42:01 -04:00
Kubernetes Prow Robot
275eabdf72
Merge pull request #93259 from jpbetz/revert-88936
Revert nested trace PR#88936
2020-07-20 19:51:47 -07:00
Joe Betz
02cf58102a Revert nested trace PR#88936 2020-07-20 09:55:05 -07:00
Abdullah Gharaibeh
6f9794d5e9 Rename pod_preemption_metrics to preemption_metrics. Since this metric's type was changed from Gauge to Histogram, renaming it should make it easier to providers to migrate 2020-07-20 11:44:10 -04:00
Wei Huang
bc04d73330
remove duplicate path import 2020-07-14 16:34:09 -07:00
Kubernetes Prow Robot
240a72b5c0
Merge pull request #88936 from jpbetz/http-trace
Add nested tracing and endpoint filter tracing to apiserver
2020-07-13 11:27:21 -07:00
Wei Huang
4e8ccf0187
Refactor and expose common preemption functions 2020-07-11 23:17:21 -07:00
Kubernetes Prow Robot
d06ff65943
Merge pull request #92876 from Huang-Wei/pdbLister
Add pdbLister as a member field of struct DefaultPreemption
2020-07-11 20:57:42 -07:00
Kubernetes Prow Robot
016c2f64de
Merge pull request #92840 from adtac/listers
selectorspread: access listers in plugin instantiation
2020-07-11 20:56:23 -07:00
Joe Betz
b12ac0abc6 Enable nested tracing, add request filter chain tracing incl. authn/authz tracing 2020-07-11 06:42:00 -07:00
Kubernetes Prow Robot
36b4c2942b
Merge pull request #92815 from Huang-Wei/bypass-prefilter-svcaffinity
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present
2020-07-10 15:43:11 -07:00
Kubernetes Prow Robot
fbc9cf0894
Merge pull request #92797 from ahg-g/ahg-prefilter
Return a FitError when PreFilter fails with unschedulable status
2020-07-10 15:42:31 -07:00
Kubernetes Prow Robot
0cb7e320a5
Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes
generic ephemeral inline volumes
2020-07-10 15:41:46 -07:00
Dave Chen
a1b2a7765d Change the node name from "machine" to "node"
Latest change on master rename the node name from "machine" to "node"
but haven't update all the affected code, which causes some of testcases
invalid.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-10 10:17:58 +08:00
Patrick Ohly
ff3e5e06a7 GenericEphemeralVolume: initial implementation
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
  a special meaning and then ensuring that the same code path is taken
  for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
  VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
  the finalizer already before the pod is deleted (only
  if the GenericEphemeralVolume feature is enabled): this is
  needed to break a cycle where foreground deletion of the pod
  blocks on removing the PVC, which waits for deletion of the pod

The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Yuan Chen
57de07064f
Fix a typo in PreBindPlugin comment
"before a pod is being scheduled"  ->" before a pod is bound"
2020-07-09 10:51:14 -07:00
Kubernetes Prow Robot
3a5e7ea986
Merge pull request #92752 from chendave/skip_preemption
Cut off the cost to run filter plugins when no victim pods are found
2020-07-09 09:10:10 -07:00
Kubernetes Prow Robot
70e09f2c24
Merge pull request #88842 from angao/fit-arg
add args for NodeResourcesFit plugin
2020-07-09 05:04:10 -07:00
Kubernetes Prow Robot
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Kubernetes Prow Robot
c2e6e147be
Merge pull request #92160 from YuikoTakada/add_deprecated_description_scheduling_duration_seconds
Add Deprecated description to metrics scheduling_duration_seconds
2020-07-09 00:04:48 -07:00
Wei Huang
d65a97848e
codegen 2020-07-08 09:58:42 -07:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Wei Huang
9d377eb655
Add pdbLister as a member field of struct DefaultPreemption 2020-07-07 12:25:53 -07:00
Adhityaa Chandrasekar
832a53acdb selectorspread: access listers in plugin instantiation 2020-07-07 14:45:28 +00:00
Aldo Culquicondor
27ec356d76 Add SIG storage owner aliases
And give ownership to pkg/scheduler/framework/plugins/volumebinding

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
Dave Chen
028af0970f Cut off the cost to run filter plugins when no victim pods are found
If no potential victims could be found, there is no need to evaluate the node
again, since its state didn't change.

It's safe to return and thus prevent scheduling from running the filter plugins
again.

NOTE:
A node that is filtered out by filter plugins could pass the filter plugins if
there is a change on that node, i.e. pods termination on that node.

Previously, this could be either caught by the normal `schedule` or `preempt` (pods
are terminated when the preemption logic tries to find the nodes and re-evaluate
the filter plugins.)

Actually, this shouldn't be taken care by the preemption, consider the routine
of `schedule` is always running when the interval is "zero", let `schedule`
take care of it will release `preempt` from something irrelevant with the `preemption`.

Due to above reason, couple of testcase as well as the logic of checking the existence
of victim pods are removed as it will never happen after the change.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-07 09:55:34 +08:00
Abdullah Gharaibeh
c98dee4945 Return a FitError when PreFilter fails with unschedulable status 2020-07-06 15:02:07 -04:00
Patrick Ohly
0efbbe8555 CSIStorageCapacity: check for sufficient storage in volume binder
This uses the information provided by a CSI driver deployment for
checking whether a node has access to enough storage to create the
currently unbound volumes, if the CSI driver opts into that checking
with CSIDriver.Spec.VolumeCapacity != false.

This resolves a TODO from commit 95b530366a.
2020-07-06 19:20:10 +02:00
Wei Huang
07583bf95b
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present 2020-07-05 23:37:04 -07:00
Kubernetes Prow Robot
86096addb1
Merge pull request #92689 from chendave/fix_testcase
Fix the nits found in the testcases of `PodTopologySpread`
2020-07-03 20:31:26 -07:00
Kubernetes Prow Robot
b6cbe1b8de
Merge pull request #92662 from chelseychen/event-api-fallback
Switch event recorder to use events.k8s.io/v1
2020-07-03 05:03:15 -07:00
Kubernetes Prow Robot
19883b50f8
Merge pull request #92604 from soulxu/fix_preemption_with_nominated_node
The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
2020-07-03 05:03:01 -07:00
Dave Chen
3e65fe4378 Change the exception to avoid the cost of preemption
node's labels doesn't contain the required topologyKeys in `Constraints`
cannot be resolved by preempting the pods on that pods.

One use case that could easily reproduce the issue is,
- set `alwaysCheckAllPredicates` to true.
- one node contains all the required topologyKeys but is failed in predicates
  such as 'taint'.
- another node doesn't hold all the required topologyKeys, and thus return `Unschedulable`
  status code.
- scheduler will try to preempt the pods on the above node with lower priorities.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-03 10:17:31 +08:00
He Jie Xu
b3741f344e The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
If the Pod's previous nominated node is UnschedulableAndUnresolvable from previous
filtering, it should be considered for preemption again.
2020-07-03 08:57:45 +08:00
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00
Kubernetes Prow Robot
15a9430ae5
Merge pull request #92650 from ahg-g/ahg-attempts
breakdown PodSchedulingDuration by number of attempts
2020-07-02 04:17:15 -07:00
Dave Chen
41fd19760e Fix the nits found in the testcases of PodTopologySpread
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-02 12:37:46 +08:00
Yuiko Mori
97bca0ec59 Add Deprecated description to metrics scheduling_duration_seconds 2020-07-02 00:14:49 +00:00
Abdullah Gharaibeh
d1ea49bcd9 breakdown PodSchedulingDuration by number of attempts 2020-07-01 17:34:07 -04:00
Wei Huang
7362fccdd7
Polish unit tests of defaultpreemptio plugin 2020-06-30 14:05:48 -07:00
Andrea Nodari
2e1042f959 Use NodeWrapper to directly initialize node with labels
Using NodeWrapper in the integration tests gives more flexibility when
creating nodes. For instance, tests can create nodes with labels or
with a specific sets of resources.

Also, NodeWrapper initialises a node with a capacity of 32 pods, which
can be overridden by the caller. This makes sure that a node is usable
as soon as it is created.
2020-06-30 17:18:15 +02:00
Kubernetes Prow Robot
1c658d2ae8
Merge pull request #92568 from satishbellapu/master
Typo of PercentageOfNodesToScore
2020-06-30 00:03:25 -07:00
Kubernetes Prow Robot
784b0738b5
Merge pull request #92578 from zhouya0/fix_preemt_comment
Fix scheduler preemt function comment
2020-06-29 18:35:27 -07:00
Kubernetes Prow Robot
281023790f
Merge pull request #92501 from rakeshreddybandi/rename-plugin
Rename DefaultPodTopologySpread plugin #91994
2020-06-29 18:34:58 -07:00
zhouya0
59f9a7d81e Fix preemt function comment 2020-06-28 18:29:55 +08:00
Kubernetes Prow Robot
4fc5c1eda2
Merge pull request #92391 from adtac/adtac/reserve-failure
scheduler: run Unreserve if Reserve fails
2020-06-27 16:04:14 -07:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
ad29e168dc
Merge pull request #92108 from Huang-Wei/postfilter-impl-4
[postfilter-impl-4] Move Preempt() to defaultpreemption package.
2020-06-27 09:02:15 -07:00
satishbellapu
f92072b60b Typo of PercentageOfNodesToScore
Corrected typos PercentageOfNodeToScore -> PercentageOfNodesToScore
2020-06-27 02:33:19 -07:00
Adhityaa Chandrasekar
1b223b861a scheduler: run Unreserve if Reserve fails
If a reserve plugin's Reserve method returns an error, there could be
previously allocated resources from successfully completed reserve
plugins that must be unallocated by the corresponding Unreserve
operation. Since Unreserve operations are idempotent, this patch runs
the Unreserve operation of ALL reserve plugins when a Reserve operation
fails.
2020-06-26 20:41:33 +00:00
Kubernetes Prow Robot
b3033da9a1
Merge pull request #92200 from adtac/adtac/reserve
scheduler: merge Reserve and Unreserve plugins
2020-06-25 19:57:31 -07:00
Wei Huang
058e3d4258
Move Preempt() and its related functions to defaultpreemption package
Refactor genericScheduler and signature of preemption funcs
  - remove podNominator from genericScheduler
  - simplify signature of preemption functions

Make Preempt() private
2020-06-25 12:33:51 -07:00
Kubernetes Prow Robot
62b091b77f
Merge pull request #92476 from Huang-Wei/pbd-bug
Fix a preemption bug when pods are listed in pdb.Status.DisruptedPods
2020-06-25 09:46:08 -07:00
Adhityaa Chandrasekar
ec83143342 scheduler: merge Reserve and Unreserve plugins
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00:00
Kubernetes Prow Robot
8adcd7978e
Merge pull request #92268 from alculquicondor/ext-point-profile
Add profile label to framework_extension_point_duration_seconds
2020-06-24 13:31:37 -07:00
Kubernetes Prow Robot
c6d2b223fb
Merge pull request #92222 from cofyc/fix92186
Share pod volume binding cache via framework.CycleState
2020-06-24 13:31:21 -07:00
Wei Huang
82ab6db94b
Pods in pdb.Status.DisruptedPods are treated as 'nonViolating' in any case 2020-06-24 11:22:31 -07:00
Wei Huang
488621815f
Fix a preemption bug when pods are matched by pdb.Status.DisruptedPods 2020-06-24 11:22:31 -07:00
Kubernetes Prow Robot
67afc8ea3c
Merge pull request #91625 from pancernik/v1beta1-extender-encoding
Fix API encoding inconsistencies in KubeSchedulerConfig
2020-06-24 10:31:58 -07:00
Rafal Wicha
d7c84e11f5 Fix API encoding inconsistencies in KubeSchedulerConfig 2020-06-24 09:03:35 +01:00
Yecheng Fu
f899976b41 fixup 2020-06-24 14:14:03 +08:00
Aldo Culquicondor
698eda3079 Add profile label to scheduler extension point metrics
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-23 15:30:22 -04:00
Yecheng Fu
22d874993c build files 2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be Share pod volume binding cache via framework.CycleState 2020-06-23 22:18:33 +08:00
Dave Chen
e1d61b621a Scheduler: remove the misleading comments in NodeResourcesBalancedAllocation
Signed-off-by: Dave Chen dave.chen@arm.com
2020-06-23 17:33:02 +08:00
Kubernetes Prow Robot
83a15867b1
Merge pull request #92049 from Huang-Wei/postfilter-impl-3
[postfilter-impl-3] Register and enable the defaultpreemption plugin
2020-06-22 23:53:54 -07:00
Kubernetes Prow Robot
79a7088340
Merge pull request #92202 from alculquicondor/profile-metrics
Add profile label to schedule_attempts_total metric and e2e_scheduling_duration_seconds
2020-06-22 22:00:10 -07:00
Kubernetes Prow Robot
819ad44c90
Merge pull request #91603 from pancernik/v1beta1-requested-to-cap-ratio-encoding
Configure strict encoding for RequestedToCapacityRatioArgs
2020-06-22 21:59:41 -07:00
Wei Huang
d99cc01646
Register and enable defaultpreemption plugin
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Aldo Culquicondor
eb9711dc1f Add profile label to schedule_attempts_total metric
and e2e_scheduling_duration_seconds

Also adding result label to e2e_scheduling_duration_seconds. Previously, the metric was only updated for successful attempts

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-22 15:19:57 -04:00
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
5ed7b1afb8
Merge pull request #92012 from Huang-Wei/postfilter-impl-2
[postfilter-impl-2] Introduce a defaultpreemption PostFilter plugin
2020-06-19 21:51:42 -07:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Kubernetes Prow Robot
5968bc4653
Merge pull request #92247 from chendave/skiptopology
Skip `PreScore` when the `TopologySpreadConstraints` is specified
2020-06-19 11:37:44 -07:00
Wei Huang
196056d7fe
Introduce a defaultpreemption PostFilter plugin
- Add a defaultpreemption PostFilter plugin
- Make g.Preempt() stateless
    - make g.Preempt() stateless
    - make g.getLowerPriorityNominatedPods() stateless
    - make g.processPreemptionWithExtenders() stateless
2020-06-19 09:13:55 -07:00
Shintaro Murakami
79ab958996 Revert assumed PVs and PVCs in unreserve extension point 2020-06-19 17:39:42 +09:00
Dave Chen
068c69d743 Skip PreScore when the TopologySpreadConstraints is specified
`DefaultPodTopologySpread` need't score when the `TopologySpreadConstraints`
is specified.

`PreScore` needn't do this as well, this cut off the cost of `PreScore` if
possible.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-18 18:01:56 +08:00
Dave Chen
9ebd872e71 Explicitly declare the interfaces for extension points
This make it easier to catch the issue during the compilation, also,
this also align with other plugins, i.e. plugin of "InterPodAffinity".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-17 15:11:44 +08:00
Kubernetes Prow Robot
42cb4d5510
Merge pull request #92130 from chendave/InterPodAffinity_cleanup
cleanup: remove invalid comments in plugin of InterPodAffinity
2020-06-16 19:24:02 -07:00
Kubernetes Prow Robot
7e073db5e0
Merge pull request #91986 from denkensk/fix-pdb-preempt
Computing DisruptedPods of PDB in scheduling preemption
2020-06-16 19:23:03 -07:00
Dave Chen
8f0c329758 cleanup: update invalid comments in plugin of InterPodAffinity
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 14:11:59 +08:00
Alex Wang
02e4060b1b Computing DisruptedPods of PDB in scheduling preemption 2020-06-16 10:24:55 +08:00
Kubernetes Prow Robot
1c11ff7a26
Merge pull request #92107 from Huang-Wei/fake-artifacts-refactor
Move scheduler fake artifacts to pkg/scheduler/testing
2020-06-15 18:14:34 -07:00
Wei Huang
dd5db75840
Move scheduler fake artifacts to pkg/scheduler/testing
- move some fake artifacts from pkg/scheduler/core to pkg/scheduler/testing so it can be consumed
by core as well as plugin testings
2020-06-15 10:56:06 -07:00
Wei Huang
36c8ecc98c
Refactor scheduler preempt interface
- replace error with NodeToStatusMap in Preempt() signature
- eliminate podPreemptor interface and expose its functions statelessly
- move logic in scheduler.go#preempt to generic_scheduler.go#Preempt()
2020-06-15 08:42:00 -07:00
Kubernetes Prow Robot
1385280afc
Merge pull request #91775 from cofyc/fix91755
VolumeBinding: Skip/fail fast in PreFilter phase and improve error reporting
2020-06-12 10:47:56 -07:00
Rafal Wicha
707e1eb512 Configure strict encoding for RequestedToCapacityRatioArgs 2020-06-12 14:55:32 +01:00
Kubernetes Prow Robot
b8f24173da
Merge pull request #91874 from gaurav1086/TestSchedulingQueue_Close_fix_race_condition
TestSchedulingQueue: Remove the unnecessary slice and for loop
2020-06-11 23:45:55 -07:00
Yecheng Fu
814a6f2acd remove FakeVolumeBinderConfig and test new statues and states 2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Gaurav Singh
00f28747b3 TestSchedulingQueue_Close: Remove struct tests and the corresponding for loop
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

TestSchedulingQueue_Close: Remove for loop

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

remove the tests slice

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove struct

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove t.Run()

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Add function name

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove nested function

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Replace expectedErr with wantErr

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-06-11 11:19:14 -04:00
Kubernetes Prow Robot
6bb7e8ab83
Merge pull request #92010 from Huang-Wei/sched-fwk-expose-EventRecorder
Expose EventRecorder to scheduler FrameworkHandle
2020-06-10 22:44:12 -07:00
Kubernetes Prow Robot
5372e017b6
Merge pull request #92003 from mattcary/format-plugins
Remove warning about misuse of %w
2020-06-10 22:44:02 -07:00
Kubernetes Prow Robot
34e19b0623
Merge pull request #91679 from tanjunchen/update-logging-20200602
Migrate to log calls to  klog.ErroS for pkg/scheduler
2020-06-10 22:43:10 -07:00
Wei Huang
7dfabd7af6
Expose EventRecorder to scheduler FrameworkHandle 2020-06-10 18:27:21 -07:00
Kubernetes Prow Robot
17630c34cf
Merge pull request #91793 from alculquicondor/new-default-spread
Use PodTopologySpread for default spreading
2020-06-10 17:13:38 -07:00
Matthew Cary
ee9e6a3bcc Remove warning about misuse of %w 2020-06-10 14:58:55 -07:00
Kubernetes Prow Robot
418c2cbb45
Merge pull request #91918 from alculquicondor/new_max_skew
Use maxSkew in PodTopologySpread scoring as tolerance to skew
2020-06-10 04:40:21 -07:00
Wen Gao
b21b298074 add arg for noderesourcesfit plugin to support ignore a group of extended resources 2020-06-10 10:52:54 +08:00
tanjunchen
7fe9f3451f Migrate to log calls to klog.ErroS for pkg/scheduler 2020-06-09 18:39:58 -07:00
Wei Huang
51a9dcce22
Revert "Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted"
This reverts commit 369a9001c6.
2020-06-09 16:47:37 -07:00
Kubernetes Prow Robot
94833ccdf2
Merge pull request #91673 from skilxn-go/PickNodeFix
Fix pick-node strategy when there is no filter plugin
2020-06-09 14:49:11 -07:00
Aldo Culquicondor
170f81cff3 Use PodTopologySpread for default spreading
Under the feature gate DefaultPodTopologySpread, which will disable the legacy DefaultPodTopologySpread plugin from the default algorithm providers.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-09 14:59:42 -04:00
Kubernetes Prow Robot
1cbb5d1e51
Merge pull request #91894 from chendave/podaffinity_comments
Fix the incorrect error message of `InterPodAffinity` plugin
2020-06-08 21:44:45 -07:00
Kubernetes Prow Robot
5248bef370
Merge pull request #91750 from Huang-Wei/clear-nnn
Fix an issue that a Pod's nominatedNodeName cannot be cleared upon node deletion
2020-06-08 21:43:58 -07:00
Kubernetes Prow Robot
de1a277185
Merge pull request #91735 from gpldirk/tps-comment
fix minor comment in podtopologyspread scoring test
2020-06-08 21:43:48 -07:00
Aldo Culquicondor
d353cc1532 Use maxSkew in PodTopologySpread scoring as tolerance to skew
This new approach results in better spreading for small number of pods, while still giving meaning to the maxSkew parameter.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-08 16:25:59 -04:00
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Dave Chen
02fb3387a0 Fix the incorrect error message of InterPodAffinity plugin
A line of copy/paste code firstly from the method named `buildTopologyPairToScore`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-08 16:39:19 +08:00
Kubernetes Prow Robot
82d27aa030
Merge pull request #91832 from ahg-g/ahg-over
Remove log message causing significant overhead on Preemption evaluation
2020-06-06 07:13:45 -07:00
Abdullah Gharaibeh
8bf30530e8 Remove unnecessary log message causing significant overhead on preemption evaluation 2020-06-05 16:50:25 -04:00
Wei Huang
69b9ba6012
Introduce PostFilter extension point 2020-06-05 13:23:45 -07:00
Kubernetes Prow Robot
4e3dea81c1
Merge pull request #91580 from cofyc/fix90958
Remove KubeSchedulerConfiguration.BindTimeoutSeconds
2020-06-05 08:45:45 -07:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
Wei Huang
369a9001c6
Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted 2020-06-03 17:45:06 -07:00
gpldirk
6a26f76add fix minor comment in podtopologyspread scoring test 2020-06-03 16:03:10 +00:00
Yecheng Fu
1ff09c0934 Remove BindTimeoutSeconds from KubeSchedulerConfiguration 2020-06-03 09:54:06 +08:00
skilxn-go
fe9d9ebce1 Fix pick-node strategy when there is no filter plugin 2020-06-03 09:12:44 +08:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Yecheng Fu
367f75e203 auto-generated files 2020-06-01 09:42:38 +08:00
Kubernetes Prow Robot
413bc1a1d2
Merge pull request #91138 from chendave/imagelocality
Define the thresholds per the size of container images
2020-05-31 16:17:53 -07:00
Dave Chen
42fbb1d72f Define the thresholds per the size of container images
Given the assumption that 90% of images on dockerhub drops into this range (23~1000)MB,
this assumption is based on the container images instead of the pod.

pod might hold multiple container images, it's better to multiply the assumption by the size
of container images.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-30 20:57:50 +08:00
Wei Huang
8478c19a7f
autogen: PostFilter 2020-05-29 18:18:00 -07:00
Wei Huang
1837b49554
Scheduler PostFilter API 2020-05-29 18:18:00 -07:00
Kubernetes Prow Robot
081f97aa2b
Merge pull request #91535 from ahg-g/ahg-merge-updates
Merge pod condition update with setting nominated node name
2020-05-29 08:05:16 -07:00
Dave Chen
649523ce91 cleanup: remove useless methods
`BuildArgs` is not used anywhere and the `args` can be directly got from
the instance instead of defining a method to do that.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-29 10:41:54 +08:00
Abdullah Gharaibeh
27caa6e727 merge pod condition update with setting nominated node name in the scheduler 2020-05-28 20:11:16 -04:00
Kubernetes Prow Robot
472a4e9ce2
Merge pull request #91448 from RainbowMango/pr_fix_metric_naming
update metrics to conform promlint
2020-05-28 16:38:02 -07:00
Kubernetes Prow Robot
c682b313d9
Merge pull request #91420 from pancernik/scheduler-config-v1beta1
Promote kubescheduler.config.k8s.io to v1betav1
2020-05-28 12:24:39 -07:00
Kubernetes Prow Robot
73641d35c7
Merge pull request #91451 from gaurav1086/scheduler_test_fix_goroutine_leak
scheduler_test: fix goroutine leak
2020-05-26 21:09:03 -07:00
Kubernetes Prow Robot
b0e0692490
Merge pull request #91446 from pancernik/scheduler-plugin-args-validation-nr
Move Node Resources scheduler plugin args validation to apis/config/validation
2020-05-26 19:13:18 -07:00
Kubernetes Prow Robot
5217fa2299
Merge pull request #91462 from lo24/fwk-typo
fix typo in scheduler framework
2020-05-26 16:49:05 -07:00
Rafal Wicha
3ffd71c4a2 Move Node Resources scheduler plugin args validation to apis/config/validation 2020-05-26 22:37:16 +01:00
Gaurav Singh
a4e5629320 scheduler_test: fix goroutine leak
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Re-use errchan from setupTestSchedulerWithOnePodOnNode

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-26 17:33:10 -04:00
Wei Huang
59eff29d22
- Add Extenders() and PluginsRunner interface to PreemptHandle
- Make some private functions stateless
  - make addNominatedPods() not dependent on genericScheduler
  - make addNominatedPods() not dependent on genericScheduler
  - make selectVictimsOnNode() not dependent on genericScheduler
  - make selectNodesForPreemption() not dependent on genericScheduler
2020-05-26 10:00:45 -07:00
lo24
4caae61f03 fix typo in scheduler framework 2020-05-26 16:00:22 +00:00
RainbowMango
4d8280acca rename metric scheduler_total_preemption_attempts to scheduler_preemption_attempts_total as counter metrics should have _total suffix. 2020-05-26 20:11:42 +08:00
Rafal Wicha
852442c0ff Promote kubescheduler.config.k8s.io to v1betav1 2020-05-25 22:25:57 +01:00
Kubernetes Prow Robot
7a30cf8046
Merge pull request #91241 from pancernik/scheduler-plugin-args-validation
Move Scheduler plugin args validation to apis/config/validation
2020-05-25 13:43:11 -07:00
Kubernetes Prow Robot
c5aa1eddcc
Merge pull request #91406 from zhouya0/fix_scheduler_prefilter_doc
Fix scheduler prefilter comment
2020-05-25 11:43:11 -07:00
Rafal Wicha
85be9c1673 Move Scheduler plugin args validation to apis/config/validation 2020-05-25 16:27:21 +01:00
zhouya0
dabd00ca4c Fix scheduler prefilter comment 2020-05-25 17:45:44 +08:00
Dave Chen
84915d1623 Expose the issue that max threshold haven't considered container size
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-25 17:31:47 +08:00
Yecheng Fu
8bbbe62fbd Add versioned counterparts for VolumeBindingArgs: auto-generted files 2020-05-22 09:30:53 +08:00
Yecheng Fu
0a3d55f2e0 Add versioned counterparts for VolumeBindingArgs 2020-05-22 09:30:52 +08:00
Kubernetes Prow Robot
d871ab9690
Merge pull request #91278 from chendave/testcase
scheduler: Expand testcases to cover more plugin defaults
2020-05-20 19:41:39 -07:00
Kubernetes Prow Robot
f7a6e9e2f1
Merge pull request #91175 from Huang-Wei/volume-binding-leftover
Cleanup volume binding leftover
2020-05-20 19:41:10 -07:00
Wei Huang
f4b726237a
Add function NominatedPodsForNode to PodNominator interface.
- replace SchedulingQueue with PodNominator in genericScheduler.
2020-05-20 14:05:18 -07:00
Wei Huang
b6d5a3328a
cleanup volume binding leftover 2020-05-20 10:30:22 -07:00
Kubernetes Prow Robot
7ba332a839
Merge pull request #91258 from alculquicondor/double_spread_weight
Set weight of PodTopologySpread Score to 2
2020-05-19 23:40:42 -07:00
Dave Chen
c74a5d4fe2 scheduler: Expand testcases to cover more plugin defaults
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-20 12:37:06 +08:00
Kubernetes Prow Robot
4310732c55
Merge pull request #91102 from chendave/capacity_ratio
Move `RequestedToCapacityRatio` Args defaults to versioned packages
2020-05-19 20:35:20 -07:00
Kubernetes Prow Robot
a3feccc965
Merge pull request #90201 from KobayashiD27/addTestCaseInSchedulerProfile
Add test case in scheduler/profile/profile_test.go
2020-05-19 20:34:18 -07:00
Kubernetes Prow Robot
4b9b9ab753
Merge pull request #91252 from alculquicondor/fix-reschedule
Skip Pod Conditions from scheduling queue updates
2020-05-19 16:32:51 -07:00
Kubernetes Prow Robot
0746f165bd
Merge pull request #91229 from ahg-g/ahg-affinity3
Eliminate locking in (anti)affinity calculations
2020-05-19 16:32:42 -07:00
Aldo Culquicondor
9819b25a44 Set weight of PodTopologySpread Score to 2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-19 12:08:38 -04:00
Aldo Culquicondor
da6fcfaf74 Skip Pod Conditions from scheduling queue updates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-19 10:59:10 -04:00
Kubernetes Prow Robot
2185064307
Merge pull request #90356 from Huang-Wei/prefactor-preemption-nompods-interface
Extract logic related with scheduler nominatedPods to an interface
2020-05-18 20:03:36 -07:00
Abdullah Gharaibeh
4ff554ba83 Eliminate locking in (anti)affinity calculations 2020-05-18 22:37:37 -04:00
Kobayashi Daisuke
673a22eae8 Add test case in scheduler/profile/profile_test.go
to improve the test coverage: check invalid configs
2020-05-19 10:27:37 +09:00
Kubernetes Prow Robot
9eb097c4b0
Merge pull request #91168 from ahg-g/ahg-affinity5
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 16:29:51 -07:00
Abdullah Gharaibeh
5d2c05408d First pod with affinity can schedule only on nodes with matching topology keys 2020-05-18 15:15:09 -04:00
Wei Huang
bd184035c4
Extract logic related with scheduler nominatedPods to an interface
- rename `UpdateNominatedPodForNode` to `AddNominatedPod`
- promote `update` to `UpdateNominatedPod`
- anonymous lock in nominatedMap
- pass PodNominator as an option to NewFramework
2020-05-18 10:29:08 -07:00
Dave Chen
838a0a8c03 Move RequestedToCapacityRatio Args defaults to versioned packages
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-18 14:19:39 +08:00
Kubernetes Prow Robot
d4ce66fe0b
Merge pull request #90660 from Huang-Wei/synced-sched-err-call
Move unschedulable Pod to internal schedulingQ synchronously
2020-05-16 19:00:06 -07:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
7f0c05b909
Merge pull request #90544 from chendave/weight
configurable weight on the CPU and memory
2020-05-16 07:36:30 -07:00
Kubernetes Prow Robot
9769e0f5da
Merge pull request #90008 from gavinfish/scheduler-utilparsers
Scheduler: remove direct import to /pkg/util/parsers
2020-05-16 07:35:49 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Kubernetes Prow Robot
52ae8b1ebb
Merge pull request #91099 from snowplayfire/skip_unnecessary_scheduling
skip unnecessary scheduling attempt when pod has its Finalizers updated
2020-05-15 23:02:22 -07:00
Kubernetes Prow Robot
65f2803c68
Merge pull request #91084 from ahg-g/ahg-affinity2
Added pre-processed preferred affinity terms to scheduler's PodInfo type
2020-05-15 23:02:03 -07:00
Kubernetes Prow Robot
738e557f2c
Merge pull request #91083 from KobayashiD27/Add-test-to-scheduler-apis-config-types-test
Add test case in scheduler/apis/config/types_test.go to improve the t…
2020-05-15 23:01:49 -07:00
Wei Huang
133a02540f
Move unschedulable Pod to internal schedulingQ synchronously
- use in-cache Pod instead of real-time Pod (by calling API server) to mark it as unschedulable
  in internal schedulingQ
- remove the backoff logic as now we don't call API server
- the whole logic is changed to a synchronous call
2020-05-15 19:27:28 -07:00
Wei Huang
1b30105dac
Fix scheduler cache inconsistency upon Pods with same name but different UIDs
Co-authored-by: Wei Huang <wei.huang1@ibm.com>
Co-authored-by: tianxia52 <871883758@qq.com>
2020-05-15 11:41:54 -07:00
Dave Chen
621c73b984 Configurable weight on the CPU and memory
This change also make it possible to score the resources beyond the "cpu"
and "memory" which is currently listed in "defaultRequestedRatioResources".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-15 22:26:30 +08:00
Abdullah Gharaibeh
087839daf7 Added pre-processed preferred affinity terms to scheduler's PodInfo type. 2020-05-15 09:00:56 -04:00
jingxueli
b95191fe10 add test for finalizers 2020-05-15 18:57:09 +08:00
Kubernetes Prow Robot
71277de4d6
Merge pull request #91069 from alculquicondor/bind_ctx
Use passed context in default binder
2020-05-15 02:49:28 -07:00
Kubernetes Prow Robot
c453be845a
Merge pull request #91062 from ahg-g/ahg-affinity1
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-15 02:49:07 -07:00
Kubernetes Prow Robot
57b79e3fb4
Merge pull request #91037 from Huang-Wei/prefactor-PreemptExtender
Refactor preemption extender logic and move SchedulerExtender interface to framework pkg
2020-05-15 02:48:30 -07:00
Kubernetes Prow Robot
95e598586e
Merge pull request #91016 from chendave/nits
Fix nits in comments for NodeResources plugins
2020-05-15 02:48:02 -07:00
Brian Pursley
9eb8e7a6d6 Changed scheduler to use patch when updating pod status to avoid potential conflicts 2020-05-14 15:17:53 -04:00
Kubernetes Prow Robot
5bda0c1b3b
Merge pull request #83726 from cofyc/fix56180
scheduler: Move all volume binding code into VolumeBinding plugin
2020-05-14 10:08:23 -07:00
Abdullah Gharaibeh
5e0211c72d Added pre-processed required affinity terms to scheduler's PodInfo type. 2020-05-14 10:30:42 -04:00
Dave Chen
6b9fb2c591 Fix nits in comments for NodeResources plugins 2020-05-14 18:45:59 +08:00
jingxueli
b1143da370 skip unnecessary scheduling attempt when pod's finalizers change 2020-05-14 15:43:54 +08:00
Kobayashi Daisuke
96690673c4 Add test case in scheduler/apis/config/types_test.go to improve the test coverage. 2020-05-14 11:24:27 +09:00
Kubernetes Prow Robot
40b0f4f6cb
Merge pull request #90565 from alculquicondor/cleanup-sched-config
Remove wrapper around base LeaderElectionConfiguration
2020-05-13 15:59:05 -07:00
Wei Huang
eb17b7559c
move SchedulerExtender interface to pkg/scheduler/framework/v1alpha1 2020-05-13 13:09:13 -07:00
Wei Huang
e4f878ea3a
cleanup: use string instead of v1.Node as key of nodeToVictims 2020-05-13 13:08:20 -07:00
Aldo Culquicondor
78fca663ce Use passed context in default binder
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-13 11:36:14 -04:00
Yecheng Fu
85a8740d9b scheduler/volumebinding: auto-generated files only 2020-05-12 10:13:06 +08:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Abdullah Gharaibeh
c3be8feee6 count no nodes scheduling failure as unschedulable instead of error 2020-05-11 14:07:52 -04:00
Kubernetes Prow Robot
a3cf6fc0aa
Merge pull request #90915 from Huang-Wei/remove-enableNonPreempting
Remove `enableNonPreempting` field from scheduler codebase
2020-05-08 20:45:51 -07:00
Wei Huang
e283e73994
Remove enableNonPreempting field from scheduler codebase 2020-05-08 19:02:51 -07:00
Kubernetes Prow Robot
e6e29fbbc3
Merge pull request #90820 from alculquicondor/score-max-skew
Use maxSkew in score calculation
2020-05-08 18:28:19 -07:00
Aldo Culquicondor
516c8fbfad Use maxSkew in score calculation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-08 09:34:45 -04:00
Kubernetes Prow Robot
90f7ae54ac
Merge pull request #90657 from alculquicondor/default-plugin-args
Move Plugin Args defaults to versioned packages
2020-05-08 02:03:42 -07:00
Aldo Culquicondor
2935480cc8 Move Plugin Args defaults to versioned packages
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-06 18:00:23 -04:00
Wei Huang
8c2a540cdc
Refine schedulerQueue test to avoid unneeded locks
- revert PR 88331
- remove createAndRunPriorityQueue()
- PriorityQueue is created and not run by default
- flushXYZ() is called on demand by manipulating FakeClock and Step()
2020-05-05 00:11:04 -07:00
Kubernetes Prow Robot
594cbdfd19
Merge pull request #89508 from KobayashiD27/test-coverage-up
Add test case to improve the test coverage.
2020-05-01 13:00:31 -07:00
Kubernetes Prow Robot
26ad2c2a47
Merge pull request #90613 from Huang-Wei/cleanup-comments
cleanup: remove stale comments
2020-05-01 00:42:03 -07:00
Kubernetes Prow Robot
ba43630708
Merge pull request #90475 from alculquicondor/topology-scoring
Topology spreading scoring with automatically weighted topologies
2020-05-01 00:40:04 -07:00
Kubernetes Prow Robot
8dd93ca94c
Merge pull request #90309 from alculquicondor/plugin-args-decoding
Use internal config types in scheduling plugin args
2020-04-30 05:32:18 -07:00
Kubernetes Prow Robot
863ce9726e
Merge pull request #90295 from tanjunchen/pkg/scheduler/framework/plugins/-20200420
pkg/scheduler/framework/plugins/:fix unconsistent comments and make log more clear
2020-04-29 18:30:18 -07:00
Aldo Culquicondor
98d1e241f1 Use internal config types in scheduling plugin args
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:07:10 -04:00
Aldo Culquicondor
6b153dc920 Add decoding of nested scheduling plugin configs
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:06:58 -04:00
Wei Huang
79963ac8fb
cleanup: remove stale comments 2020-04-29 13:51:25 -07:00
Aldo Culquicondor
1aaa5fcc80 Topology scoring with dynamically weighted topologies
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 09:55:52 -04:00
Kubernetes Prow Robot
4099ad6e0d
Merge pull request #90542 from lixiang233/master
There's no need to set moveRequestCycle and do broadcast twice.
2020-04-28 12:58:25 -07:00
Aldo Culquicondor
29f5adee7f Remove wrapper around base LeaderElectionConfiguration
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-28 15:44:35 -04:00
Kubernetes Prow Robot
fabe9cddf1
Merge pull request #90467 from Huang-Wei/honor-runAllFilters
Simplify status handling of scheduler RunFilterPlugins
2020-04-27 22:26:43 -07:00
Aldo Culquicondor
a9461fe6f5 spreading: Store ignored instead of qualifying nodes
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-27 13:18:34 -04:00
lixiang
5844bc3b9f There's no need to set moveRequestCycle and do broadcast twice. 2020-04-28 00:43:58 +08:00
drfish
0b715ea690 Scheduler: remove direct import to /pkg/util/parsers 2020-04-26 23:41:52 +08:00
Wei Huang
92ba2a4e09
Simplify status handling of scheduler RunFilterPlugins 2020-04-24 12:16:42 -07:00
Kubernetes Prow Robot
277f7614ea
Merge pull request #90203 from tanjunchen/remove-repeat-test-sche
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-24 12:15:20 -07:00
tanjunchen
0e38ba0ef6 pkg/scheduler/framework/:fix unconsistent comments and make log more clear 2020-04-24 11:17:11 +08:00
Kubernetes Prow Robot
b850b5ce2e
Merge pull request #89222 from fengzixu/master
bugfix: initcontainer is also taken into account when calculating resource requests
2020-04-23 00:45:44 -07:00
Kubernetes Prow Robot
29e4e66b59
Merge pull request #90371 from ahg-g/ahg-pinfo
Deprecate scheduler's PodLister interface
2020-04-22 23:09:58 -07:00
Kubernetes Prow Robot
6107b140ae
Merge pull request #90373 from fabiokung/updated-annotations-during-bind
kube-scheduler: compatibility with ServerSideApply
2020-04-22 17:03:09 -07:00
Abdullah Gharaibeh
57585640e8 change scheduler's framework PodLister to PodInfoLister 2020-04-22 19:25:27 -04:00
Kubernetes Prow Robot
9066ee9906
Merge pull request #90330 from cwdsuzhou/April/log_level
Increase log level to avoid print binding messages in framework too frequently
2020-04-22 14:03:46 -07:00
Fabio Kung
d341a5b9d3 kube-scheduler: compatibility with ServerSideApply
avoid moving Pods that have been assumed back to the scheduling queue in
case they have annotations modified with ServerSideApply, which causes
Pod.ObjectMeta.ManagedFields to be modified automatically
2020-04-22 12:02:40 -07:00
fengzixu
d54822d193 bugfix: initcontainer wasn't considered when calculate resource request 2020-04-23 02:08:33 +09:00
caiweidong
171a242e1e Increase log level to avoid print binding messages in framework too frequently 2020-04-22 11:37:35 +08:00
Abdullah Gharaibeh
a151682887 Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo 2020-04-21 21:45:20 -04:00
Gaurav Singh
31afb24244 [Scheduler] Map deletion complexity: log(n) => O(1) 2020-04-19 11:31:55 -04:00
tanjunchen
6180d701cc /pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example 2020-04-17 09:24:45 +08:00
Rafal Wicha
b511fa8627 Add PodTopologySpread plugin arg types to kube-scheduler.config.k8s.io 2020-04-16 16:26:27 +01:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Kubernetes Prow Robot
d0183703cb
Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -07:00
Kubernetes Prow Robot
303a6c7e34
Merge pull request #89996 from KobayashiD27/addTestCaseInSchedulerUtil
Add test case in scheduler/util/non_zero_test.go
2020-04-14 12:34:17 -07:00
Aldo Culquicondor
ce05382b58 Use RawExtension and Object for external and internal scheduling plugin args, respectively
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-14 13:44:42 -04:00
Kubernetes Prow Robot
fca197c748
Merge pull request #90041 from tanjunchen/sche-remove-dependency-001
Scheduler:remove direct dependency for pkg/api/testing
2020-04-13 20:01:11 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Kubernetes Prow Robot
ee6b88ddf9
Merge pull request #90000 from SataQiu/staging-scheduler-20200409
scheduler: remove direct import to pkg/master/ports
2020-04-11 10:46:01 -07:00
Kubernetes Prow Robot
de5508839d
Merge pull request #90037 from angao/redundant
remove redundant code
2020-04-11 03:29:47 -07:00
SataQiu
41d3e44a2f scheduler: remove direct import to pkg/master/ports
Signed-off-by: SataQiu <1527062125@qq.com>
2020-04-11 13:56:53 +08:00
tanjunchen
5ab543500b Scheduler:remove direct dependency for pkg/api/testing 2020-04-11 13:16:06 +08:00
Wen Gao
65b43e5d10 remove redundant code 2020-04-10 10:59:30 +08:00
Abdullah Gharaibeh
2c51c13620 Scheduler NodeInfo cleanup 2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Kobayashi Daisuke
e16c4f22dd Add test case in scheduler/util/non_zero_test.go to improve the test coverage. 2020-04-09 17:42:43 +09:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Rafał Wicha
c4d20ca8a8 Add types for Scheduler plugin args to kube-scheduler.config.k8s.io 2020-04-08 20:23:56 +01:00
Kubernetes Prow Robot
0926c9c476
Merge pull request #89131 from cwdsuzhou/March/expose_scheduler_metric
Expose scheduler metric to make it possible for plugins to use it
2020-04-08 04:25:43 -07:00
Kubernetes Prow Robot
1edbfe1745
Merge pull request #89908 from alculquicondor/fix_cache
Skip updating scheduler cache on pod update if the node was deleted
2020-04-07 16:46:06 -07:00
Aldo Culquicondor
e75b5dcfe4 Skip updating cache on pod update if the node was deleted
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-07 13:24:42 -04:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
caiweidong
bbaa76c8f5 Expose scheduler metric register function to make it possible for plugins to use it 2020-04-07 19:07:30 +08:00
Harsh Singh
015d06bf41 Internal channels for scheduler 2020-04-04 02:30:16 +05:30
Kubernetes Prow Robot
dd35908c7f
Merge pull request #89298 from gavinfish/scheuler-config-alph1
Remove kubescheduler.config.k8s.io/v1alpha1
2020-04-02 21:39:59 -07:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Aldo Culquicondor
93fc02cf54 Set initial map size
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:34 -04:00
Aldo Culquicondor
65d9f81758 Replace lock with atomic updates in spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:32 -04:00
Aldo Culquicondor
275da7afc0 Benchmark for topology spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:12:22 -04:00
Kubernetes Prow Robot
59c66dab8c
Merge pull request #89487 from alculquicondor/per_node_spreading
Optimize preferred spreading for hostname topology
2020-03-30 08:21:54 -07:00
Aldo Culquicondor
d2b1903149 Calculate scores in parallel on spreading benchmarks
This is closer to what happens in the core scheduler

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:33:50 -04:00
Kubernetes Prow Robot
57144b38eb
Merge pull request #89463 from fxmumu/feature-scheduler-err-handler
Remove nested if statement and test it
2020-03-26 11:14:17 -07:00
Kubernetes Prow Robot
894916b665
Merge pull request #89459 from chendave/scorer_desc
Trival fix: update the desc on the score plugins
2020-03-26 07:56:39 -07:00
Kobayashi Daisuke
9d6235c54e Add test case to improve the test coverage. 2020-03-26 17:34:38 +09:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10 2020-03-25 10:46:28 -07:00
Aldo Culquicondor
4b31b55499 Count spreading node matches for hostname topology in Score 2020-03-25 13:29:27 -04:00
fxmumu
8beb2439a0 Remove nested if statement and test it
Remove nested if statement in scheduler err handler.
Test scheduler err that node not found.
2020-03-26 00:29:41 +08:00
Kubernetes Prow Robot
d00f9c7c10
Merge pull request #89338 from skilxn-go/AddCompatibilityTestForPluginArgs
Add compatibility tests for plugin arguments
2020-03-25 08:49:03 -07:00
Dave Chen
4ab7be43ce Trival fix: update the desc on the score plugins
For whatever the reason, the max score has been updated from "10"
to "100"
2020-03-25 12:09:09 +08:00
Kubernetes Prow Robot
c58a3757cb
Merge pull request #89365 from notpad/feature/zone_label_ga
Add check for volume zone GA labels
2020-03-24 15:27:34 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Aldo Culquicondor
36efa035e2 Add chunk size option to ParallelizeUntil
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-24 10:29:59 -04:00
skilxn-go
e0adb0ead9 Add compatibility tests for plugin config 2020-03-24 22:17:16 +08:00
notpad
98405a8bd9 Add check for volume zone GA labels 2020-03-24 21:11:25 +08: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
gavinfish
1865a104a9 Remove kubescheduler.config.k8s.io/v1alpha1 2020-03-21 15:11:48 +08:00
Kubernetes Prow Robot
4319ab214f
Merge pull request #89219 from chendave/misspelling
Trival fix: update the description on the pod preemption
2020-03-20 17:58:44 -07:00
Kubernetes Prow Robot
fe2fdcd695
Merge pull request #89162 from alculquicondor/affinity-less-lock
Reduce locking when calculating affinity scores
2020-03-19 15:04:35 -07:00
Kubernetes Prow Robot
abe4dea072
Merge pull request #89149 from notpad/fix_comment
Fix comments
2020-03-19 08:27:23 -07:00
Dave Chen
a9d82e7c2a Trival fix: update the description on the pod preemption
`pod` has the field of `NominatedNodeName` which is different
with `NominatedPod`.
2020-03-18 18:23:36 +08:00
Kubernetes Prow Robot
ad2a1054b0
Merge pull request #88717 from mosesyou/dev-boris
Add unit test TestListPlugins for the scheduler
2020-03-17 16:21:55 -07:00
Aldo Culquicondor
d0dc178ab8 Reduce locking when calculating affinity scores
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-17 15:46:01 -04:00
notpad
a043bc438d Fix comments 2020-03-16 11:58:27 +08:00
Aldo Culquicondor
4d6af4d8d8 Set unschedulable Condition after setting nominated Node
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-13 11:02:19 -04:00
mosesyou
d874275fb7 Add unit test TestListPlugins for the scheduler 2020-03-09 15:33:42 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
5708511499
Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00
Kubernetes Prow Robot
b0f793a94c
Merge pull request #88870 from alculquicondor/disallow_dup_plugin_config
Disallow duplicate PluginConfig in framework creation
2020-03-05 21:40:15 -08:00
Kubernetes Prow Robot
1302f343b1
Merge pull request #88864 from alculquicondor/one_config
Disallow use of Plugin or PluginConfig when using Policy
2020-03-05 21:39:57 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Mike Dame
1d7006c38d Add Extenders to scheduler v1alpha2 component config 2020-03-05 16:42:15 -05:00
Aldo Culquicondor
1fab27502b Disallow use of Plugin or PluginConfig when using Policy
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-05 15:05:26 -05:00
Aldo Culquicondor
13fa48e592 Disallow duplicate PluginConfig in framework creation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-05 14:51:41 -05:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Aldo Culquicondor
73ad38593a Add default constraints to PodTopologySpread
And update benchmark for even pod spreading to use default constraints

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Rafal Wicha
09598d48f6 Improve plugin args JSON tags 2020-03-02 15:20:44 +00:00
louisgong
c6b94e4606 refactor volume binder 2020-02-29 12:03:39 +08:00
Kubernetes Prow Robot
901a884c71
Merge pull request #88338 from egernst/PodOverhead-beta
Upgrade PodOverhead to beta
2020-02-28 15:12:40 -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
Eric Ernst
991909fdfb PodOverhead: remove feature gate override in tests
PodOverhead is now a beta feature and set to true by default. No need to
override to true during testing.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-27 17:27:06 +00:00
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05:00
Kubernetes Prow Robot
09edbcdeb5
Merge pull request #87999 from damemi/deprecate-algo-source
Deprecate scheduler AlgorithmSource from v1alpha2 ComponentConfig
2020-02-27 00:15:19 -08:00
Kubernetes Prow Robot
48a4da8a19
Merge pull request #88589 from alculquicondor/cleanup/spread
Test PodTopologySpread.{PreFilter,PreScore} instead of internal pre-processing
2020-02-26 19:40:11 -08:00
Kubernetes Prow Robot
1deac1e466
Merge pull request #88526 from alculquicondor/multiprofiles-test
Add unit and integration tests for running multiple scheduling profiles
2020-02-26 13:33:49 -08:00
Kubernetes Prow Robot
a726c9c9cb
Merge pull request #88435 from andrewsykim/ccm-clean-up
move well known cloud provider taints to k8s.io/cloud-provider/api
2020-02-26 13:33:41 -08:00
Aldo Culquicondor
fd5b298c50 Test PodTopologySpread.PreScore instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:25:01 -05:00
Aldo Culquicondor
0e46803e77 Test PodTopologySpread.PreFilter instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:17:17 -05:00
skilxn-go
e8245d6fd9 Add unit test for framework plugin configuration 2020-02-26 23:57:07 +08:00
Aldo Culquicondor
07c4982245 Add unit and integration tests for multiple profiles support
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
Kubernetes Prow Robot
44cccbde50
Merge pull request #88466 from notpad/feature/clean
Remove alpha feature test for EvenPodsSpread
2020-02-25 18:32:39 -08:00
Mike Dame
7e1ec59fe2 Remove AlgorithmSource from v1alpha2
This commit removes AlgorithmSource from the v1alpha2 scheduler ComponentConfig api.
It also creates the necessary manual conversion functions and updates defaulting to accept the change.
2020-02-25 11:42:28 -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
notpad
60f3ebe6b5 Remove alpha feature test for EvenPodsSpread 2020-02-25 18:32:07 +08:00
Kubernetes Prow Robot
1dd25a9efc
Merge pull request #88485 from ingvagabund/deprecate-predicate-priority-metrics-in-1.19
scheduler: deprecate deprecated metrics in 1.19.0
2020-02-24 21:39:00 -08:00
Jan Chaloupka
a3f6627ce8 scheduler: deprecate deprecated metrics in 1.19
We need some time to compare both deprecated and new replacing metrics so other consumers like clusterloader2 have time to adjust.
2020-02-25 02:58:33 +01:00
Aldo Culquicondor
9e71741d06 Add Profiles to kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-24 09:45:46 -05:00
andrewsykim
8c633356df move well known cloud provider taints to k8s.io/cloud-provider/api
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-02-23 19:54:59 -05:00
Kubernetes Prow Robot
fc573f98fb
Merge pull request #88030 from alculquicondor/ipa_build_args
Exposing InterPodAffinity build args
2020-02-20 22:34:32 -08:00
skilxn-go
74718adf10 fix data races for other usage of Q 2020-02-20 00:50:13 +08:00
skilxn-go
7e33feec57 fix data races in scheduler unit tests 2020-02-19 22:27:40 +08:00
Mateusz
d221d82eaf run permit plugins in the scheduling cycle 2020-02-18 10:04:23 -08:00
Aldo Culquicondor
c8377ef7db Add BuildArgs to interpodaffinity plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-18 09:55:06 -05:00
Kubernetes Prow Robot
48def7e7c3
Merge pull request #88105 from Huang-Wei/pts-e2e
Graduate PodTopologySpread to Beta
2020-02-16 18:59:28 -08:00
Kubernetes Prow Robot
3b22fcc7bd
Merge pull request #88189 from skilxn-go/RemovePreScoreNodeListArguments
[Scheduler Framework]Remove `FilteredNodesStatuses` argument from `PreScore`'s interface
2020-02-15 13:29:28 -08:00
skilxn-go
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
Wei Huang
c93dffdfc4
E2E tests for PodTopologySpread 2020-02-14 16:48:35 -08:00
Kubernetes Prow Robot
bde718d100
Merge pull request #87948 from notpad/feature/pod_backoff
Remove PodBackoffMap
2020-02-14 13:11:28 -08:00
notpad
a4e4a99435 Remove PodBackoffMap 2020-02-14 08:31:07 +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
Aldo Culquicondor
666bc6aeb4 Scheduler: Exclude plugin config for empty policy arguments
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:11:47 -05: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
Kubernetes Prow Robot
574acbe310
Merge pull request #87847 from notpad/feature/slow_path
Cleanup "slow-path" logic in scheduler Filters
2020-02-11 06:46:04 -08:00
notpad
fb895056c6 Add test 2020-02-11 16:51:21 +08:00
Kubernetes Prow Robot
db9123e50e
Merge pull request #87936 from Huang-Wei/waitingPods-glitch
Refine WaitingPod interface for scheduler Permit plugin
2020-02-10 09:23:54 -08:00
notpad
a7057f8df0 Cleanup "slow-path" logic in scheduler Filters 2020-02-10 22:48:49 +08:00
Kubernetes Prow Robot
abe6321296 Merge pull request #87952 from mikedanese/opts
add *Options to Create, Update, and Patch in generated clientsets
2020-02-08 20:43:53 -08:00
Kubernetes Prow Robot
a280a967a5 Merge pull request #87853 from alculquicondor/fix/options_test
Do lenient decoding only for kubescheduler.config.k8s.io/v1alpha1
2020-02-08 14:46:21 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Wei Huang
b8e2b0d990
Refine WaitingPod interface 2020-02-07 16:32:48 -08:00
Kubernetes Prow Robot
9617322727
Merge pull request #87904 from alculquicondor/rm_v1alpha2_deprecated
Remove deprecated fields from kubescheduler.config.k8s.io/v1alpha2
2020-02-07 15:20:32 -08:00
Aldo Culquicondor
2ffb13e822 Do lenient decoding only for kubescheduler config v1alpha1
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-07 15:41:00 -05:00
Kubernetes Prow Robot
7cfa396e7c
Merge pull request #87725 from alculquicondor/rm_affinity_weight
Add defaults to pod affinity args
2020-02-07 12:32:17 -08:00
Kubernetes Prow Robot
cf3ba4a26e
Merge pull request #87900 from alculquicondor/rm_log
Remove Error log for nil StartTime in preemption candidates
2020-02-07 05:58:18 -08:00
Kubernetes Prow Robot
fc6f878a65
Merge pull request #87845 from Huang-Wei/pts-exclude-terminating-pods
PodTopologySpread plugin now excludes terminatingPods
2020-02-07 00:08:20 -08:00
Aldo Culquicondor
1071eb89f3 Remove deprecated fields from kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-06 16:22:30 -05:00
Aldo Culquicondor
e9e11de4e1 Remove Error log for nil StartTime
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-06 14:09:44 -05:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision 2020-02-06 07:38:50 -08:00
Abdullah Gharaibeh
0a476eb7d4 reduce overhead of error message formatting and allocation for scheudler NodeResource filter 2020-02-04 11:02:29 -05:00
Aldo Culquicondor
60c972098c Add defaults to pod affinity args
And remove pod affinity parameter from algorithm provider registry

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-03 14:58:28 -05:00
Somtochi Onyekwere
0e00e0af11 Adds more unit test on Bind extension for the scheduler 2020-01-31 22:37:22 +01:00
Kubernetes Prow Robot
7f0ea141d2
Merge pull request #87692 from everpeace/fix-scheduler-queue-metrics
Fix some scheduler metrics(pending_pods and schedule_attempts_total) are not recorded.
2020-01-31 05:30:19 -08:00
Shingo Omura
c9c4be66d3 Fix pending_pods, schedule_attempts_total was not recorded
because metric initializations are too early. This causes actual metric
instance become no-op.

modification made in thie commit to make sure actual metric instance won't be no-op metrics:

- re-initialize scheduler/metrics.PodSchedule{Successes, Failure, Errors} after metric creation
- scheduler/metrics.Register() should be called before initializing SchedulingQueue,
2020-01-31 17:03:41 +09:00
Kubernetes Prow Robot
5ced53c0c4
Merge pull request #87628 from alculquicondor/cc-v1alpha2
Add kubescheduler.config.k8s.io/v1alpha2
2020-01-30 16:59:33 -08:00
Kubernetes Prow Robot
8df708d676
Merge pull request #87616 from alculquicondor/backoff
Fix back off when scheduling cycle is delayed
2020-01-29 22:11:13 -08:00
Aldo Culquicondor
3d83ef2e8e Autogenerated and build files for kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:48 -05:00
Aldo Culquicondor
11c4bcd9dd Copy kubescheduler.config.k8s.io/v1alpha1 files onto v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:41 -05:00
Aldo Culquicondor
8daa761757 Clean ups on kubescheduler.config.k8s.io/v1alpha1 files
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:17:53 -05:00
Aldo Culquicondor
9d2786c383 Fix back off when scheduling cycle is delayed
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 13:15:13 -05:00
Kubernetes Prow Robot
3dccf54175
Merge pull request #87566 from skilxn-go/Speard
Skip default spreading scoring plugin for pods that define TopologySpreadConstraints
2020-01-29 07:32:53 -08:00
skilxn-go
a4d1624fec Skip default spreading scoring plugin for pods that define TopologySpreadConstraints 2020-01-28 22:25:03 +08:00
Kubernetes Prow Robot
2059ad6573
Merge pull request #87548 from skilxn-go/AddLoging
Add logging to scheduler's event handlers
2020-01-27 06:31:02 -08:00
skilxn-go
24844c5fc5 Add logging to scheduler's event handlers 2020-01-27 13:00:00 +08:00
Kubernetes Prow Robot
93b2e42124
Merge pull request #87455 from SomtochiAma/scheduler-unit-tests
Adds unit test on Bind extension for the scheduler
2020-01-25 14:29:01 -08:00
Kubernetes Prow Robot
2cd685a020
Merge pull request #87250 from starizard/adding-taint-toleration-error-reasons
Adding taint toleration error reasons
2020-01-25 01:23:01 -08:00
Somtochi Onyekwere
8ae868b4e0 Adds more test cases in TestRunBindPlugins for the scheduler 2020-01-25 00:22:07 +01:00
Shawn Rebello
22bd26fefb Adding taint toleration error reasons 2020-01-24 02:50:55 +05:30
Shintaro Murakami
577b2dcdac Fix numPDBViolations when victims on same node are assigned same PDB 2020-01-23 10:14:53 +09:00