Commit Graph

536 Commits

Author SHA1 Message Date
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
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
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
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
tanjing2020
e62cfa7cc4 migrate default_preemption.go to structured logging 2021-02-02 09:38:23 +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
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
0c3d8b9720 Organize framework unit tests in subtests 2021-01-31 13:34:52 +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
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
Jie Shen
f82e3c430c Wrap all errors in pkg/scheduler 2021-01-28 09:13:40 +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
drfish
a6f2736032 Wrap errors from DefaultPreemption and InterPodAffinity plugins 2021-01-26 23:00:12 +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
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
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
leileiwan
8eb8f8ab26 fix(*):inter pod affinity default min score is zero 2021-01-15 17:41:52 +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
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
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
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
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
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
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
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02: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
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
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
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
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
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
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
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
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
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
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
Mike Dame
b7ba77c25b Move MatchNodeSelectorTerms to k8s.io/component-helpers 2020-10-29 13:39:13 -04: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
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
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
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
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
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
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
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