Commit Graph

1067 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
3d5971aa5d
Merge pull request #110167 from NoicFank/master
scheduling: fix duplicate checks for number of enabled queue sort plugin
2022-06-21 13:15:43 -07:00
Kubernetes Prow Robot
597cb5fac8
Merge pull request #110202 from kerthcet/cleanup/remove-potential-goroutine-leak-in-utils
Using inherited context in utils
2022-06-14 09:09:34 -07:00
Kubernetes Prow Robot
c2139f724c
Merge pull request #110232 from kerthcet/cleanup/remove-potential-goroutine-leak-in-volumebinding
Pass context to client calls in scheduler/volumebinding tests
2022-06-13 22:21:32 -07:00
kerthcet
e54ce7c0c6 Cleanup: Pass context to client calls in scheduler/volumebinding tests
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-06-13 23:53:23 +08:00
Kubernetes Prow Robot
df92c0a6fb
Merge pull request #110493 from xiaomudk/remove-parentheses
clean: remove useless parentheses
2022-06-13 06:44:22 -07:00
xiaomudk
5826cae547 clean: remove useless parentheses 2022-06-10 00:09:50 +08:00
Jiawei Wang
760365d5c9 CSIMigration feature gate to GA 2022-06-06 21:19:19 +00:00
lokichoggio
60327c9090
code optimization 2022-06-06 14:23:42 +08:00
kerthcet
186470abd4 Cleanup: modify unmatch comments with stopCh
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-31 11:28:02 +08:00
kerthcet
67b0ce87fe Using inherited context in utils
This PR focus on utils in scheduler. When to patch pod status or delete pod,
it is better to use an inherited context.
Although this do not take a big effect in preventing goroutine leak, but it is a best practice

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-25 10:14:40 +08:00
Dingzhu Lurong
2499c240a9 remove duplicate checks for number of enabled queue sort plugin 2022-05-23 21:13:32 +08:00
Wojciech Tyczyński
7060953b92 Clear shutdown of scheduler metrics recorder 2022-05-20 20:23:29 +02:00
Kubernetes Prow Robot
71da53c28b
Merge pull request #108218 from cyclinder/remove_featuregate
remove featuregate in 1.25
2022-05-17 20:08:53 -07:00
bells17
4477be81e7 Fix error message
Update pkg/scheduler/framework/plugins/volumebinding/volume_binding_test.go

Oh...thanks.

Co-authored-by: Kensei Nakada <handbomusic@gmail.com>
2022-05-13 23:56:38 +09:00
Kubernetes Prow Robot
1be1ec4aa3
Merge pull request #109970 from stevekuznetsov/skuznets/isolate-versioner
storage: move the APIObjectVersioner definition to storage
2022-05-12 12:32:44 -07:00
cyclinder
6150737d11 remove feature gate GA for 1.25
Signed-off-by: cyclinder qifeng.guo@daocloud.io
2022-05-12 14:15:23 +08:00
Kubernetes Prow Robot
8aaea8e24c
Merge pull request #107787 from Jiawei0227/volumelimit
CSI migration doesn't count inline volumes for attach limit
2022-05-11 23:09:13 -07:00
Kubernetes Prow Robot
414990751e
Merge pull request #109519 from kerthcet/refactor/remove-unnecessary-code
cleanup: remove useless codes when checking Skip status
2022-05-11 13:27:02 -07:00
Steve Kuznetsov
3939f3003e
storage: move the APIObjectVersioner definition to storage
The means by which we extract and parse the version of an API object is
not specific to etcd3. In order to allow for a generic suite of tests
against any storage.Interface imlpementation, we need this logic to live
outside of the etcd3 package, or import cycles will exist.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2022-05-11 08:19:32 -07:00
kerthcet
41e46a1bb4 cleanup: remove unnecessary codes
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-11 16:07:12 +08:00
kerthcet
790d983867 feat: implement NodeInclusionPolicy in TopologySpreadConstraint
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-11 07:51:18 +08:00
Jiawei Wang
9d01f0bf52 Count inline volume for NodeVolumeLimit when CSI migration enabled
Previsouly, when kube-scheduler schedule a pod, it does
not take inline intree volume into account when CSI
migration is enabled. This could lead to failures where
pod scheduled to a node but volume attachment fails.
2022-05-10 07:43:28 +00:00
Kubernetes Prow Robot
c8b3b293c0
Merge pull request #109756 from kidddddddddddddddddddddd/FilterOutPods_O_len
remove pkg/scheduler/framework/FilterOutPods since it's not used anymore
2022-05-07 04:41:17 -07:00
Kubernetes Prow Robot
c8cdf08191
Merge pull request #109684 from yibozhuang/test-cleanup
cleanup: move scheduler unit tests to use PodWrapper
2022-05-06 21:15:16 -07:00
kidddddddddddddddddddddd
a42f06263f remove FilterOutPods 2022-05-07 11:28:24 +08:00
Kubernetes Prow Robot
03a46ac94b
Merge pull request #108727 from sanposhiho/fix-bug-clone
Copy recordPluginMetrics in CycleState.Clone
2022-05-06 09:07:05 -07:00
Yibo Zhuang
bc8f3198d5 cleanup: move scheduler plugin tests to use PodWrapper
Move scheduler plugin unit tests use testing PodWrapper
where applicable to reduce duplicating pod creation
code and shorten number of lines.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-05-05 10:48:55 -07:00
Kubernetes Prow Robot
39021f66ef
Merge pull request #109715 from yibozhuang/volumerestrictions-refactor
Remove parallel node processing in PreFilter stage in volumerestrictions scheduler plugin
2022-05-04 06:49:51 -07:00
Kubernetes Prow Robot
78faab2c7b
Merge pull request #109478 from shintard/added-status-functions
Implementation of a function that returns the wait state of the scheduler
2022-05-04 02:33:44 -07:00
shinta
22984402ab impl 'IsWait' functions
Co-authored-by: Alex Wang <453102040@qq.com>
2022-05-04 12:36:13 +09:00
Kubernetes Prow Robot
44835a8d2f
Merge pull request #109150 from zzr93/master
cleanUp:check existence using basic method of set
2022-05-03 18:25:00 -07:00
Kubernetes Prow Robot
7ed4b59200
Merge pull request #109043 from Abirdcfly/fixtestpvc
fix volumebinding test in scheduler
2022-05-03 18:24:27 -07:00
Yibo Zhuang
6cfc9901ce Remove parallel node processing in volumerestrictions
Leverage the usedPVCSet in snapshot to determine
whether a PVC with ReadWriteOncePod access mode is being
used by another scheduled pod to achieve O(1) look up in
PreFilter and avoid needing to parallel process all nodes.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-05-03 18:01:22 -07:00
Yibo Zhuang
32c18a3479 Adding StorageInfoLister to SharedLister
This change creates a StorageInfoLister interface
and have it under scheduler SharedLister.

The initial StorageInfoLister interface has a
IsPVCUsedByPods which returns true/false depending on
whether the PVC (keyed by namespace/name) has at least
one scheduled pod using it.

In snapshot real implementation, add a usedPVCSet
key by PVC namespace/name which contains all PVCs
that have at least one scheduled pod using it.
During snapshot update, populate this set based on
whether the PVCRefCounts map for node(s) have been
updated since last snapshot.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-05-03 18:00:41 -07:00
Abirdcfly
a7cfbb3e6c
fix volumebinding test in scheduler
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-04-28 16:22:02 +08:00
Kensei Nakada
ccd6f7aa55 Copy recordPluginMetrics in CycleState.Clone 2022-04-14 15:26:20 +00:00
Abdullah Gharaibeh
6d499ee9ea Correct event registration for multiple scheduler plugins. 2022-04-12 18:32:24 -04:00
Kubernetes Prow Robot
bfaeca817c
Merge pull request #109119 from Huang-Wei/shorten-taint-msg
compact scheduling failure msg for taint/toleration mismatch
2022-04-01 13:50:10 -07:00
zzr93
b54befc97d cleanUp:check existence using basic method of set 2022-03-30 20:47:46 +08:00
Kubernetes Prow Robot
92c30bf6bd
Merge pull request #108724 from sanposhiho/cycle-state
use `sync.Map` in CycleState for better performance
2022-03-29 17:35:13 -07:00
Wei Huang
6532bad659
compact scheduling failure msg for taint/toleration mismatch 2022-03-29 15:29:19 -07:00
Kensei Nakada
136cf57809 use sync.Map in CycleState for better performance 2022-03-29 13:19:50 +00:00
Kubernetes Prow Robot
317f8afe92
Merge pull request #108976 from ArangoGutierrez/devel/typos/scheduler
Fix typos under pkg/scheduler
2022-03-25 15:35:09 -07:00
Carlos Eduardo Arango Gutierrez
d2f67b42b7
Fix typos under pkg/scheduler
./scheduler/framework/plugins/noderesources/most_allocated_test.go:227: negtive ==> negative
./scheduler/framework/plugins/noderesources/most_allocated_test.go:228: negtive ==> negative
./scheduler/framework/plugins/volumebinding/binder.go:402: everytime ==> every time
./scheduler/framework/preemption/preemption_test.go:67: staus ==> status
./scheduler/framework/runtime/framework_test.go:1252: followings ==> following
./scheduler/internal/cache/cache_test.go:932: datas ==> data
./scheduler/internal/cache/node_tree_test.go:471: unknow ==> unknown
./scheduler/internal/queue/scheduling_queue_test.go:442: actived ==> activated
./scheduler/internal/queue/scheduling_queue_test.go:2209: covert ==> convert

Signed-off-by: Carlos Eduardo Arango Gutierrez <carangog@redhat.com>
2022-03-24 08:01:25 -04:00
Alex Wang
8a5df1302a rename unschedulableQ to unschedulablePods
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-03-24 17:38:49 +08:00
Kubernetes Prow Robot
2d46f1bc30
Merge pull request #103062 from ikeeip/component_helper_storage
Move volume helpers to "k8s.io/component-helpers/storage/volume".
2022-03-23 13:21:20 -07:00
Kubernetes Prow Robot
24a71990e0
Merge pull request #108445 from pohly/storage-capacity-ga
storage capacity GA
2022-03-23 08:06:21 -07:00
Kubernetes Prow Robot
0b8a665d50
Merge pull request #108613 from Huang-Wei/fix-v1beta3-order
Fix a bug that out-of-tree plugin is misplaced when using scheduler v1beta3 config
2022-03-22 01:01:44 -07:00
Wei Huang
d330f4dcb4
Fix a bug that out-of-tree plugin is misplaced when using scheduler v1beta3 config 2022-03-21 10:46:26 -07:00
kerthcet
29b565d071 feat: remove unsupported configuration field alwaysCheckAllPredicates in scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-03-21 10:17:46 +08:00
Kubernetes Prow Robot
f979b4094e
Merge pull request #99292 from yangjunmyfm192085/run-test23
replace all occurrences of "node", nodeName to "node", klog.KRef("", nodeName)
2022-03-17 12:22:42 -07:00
Kubernetes Prow Robot
a504daa048
Merge pull request #108441 from pacoxu/pod-overload-ga
mark PodOverhead to GA in v1.24; remove in v1.26
2022-03-17 06:33:22 -07:00
Paco Xu
acd696266e mark PodOverhead to GA in v1.24; remove in v1.26 2022-03-17 09:30:14 +08:00
Konstantin Misyutin
438d224f0e Cleanup k8s.io/component-helpers/storage/volume package
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2022-03-16 15:43:09 +08:00
Konstantin Misyutin
4ba98a8610 cleanup: remove unnecessary import aliases 2022-03-16 15:43:09 +08:00
Konstantin Misyutin
1d7cefe9c4 Move volume helpers to "k8s.io/component-helpers/storage/volume".
This patch aims to simplify decoupling "pkg/scheduler/framework/plugins"
from internal "k8s.io/kubernetes" packages. More described in
issue #89930 and PR #102953.

Some helpers from "k8s.io/kubernetes/pkg/controller/volume/persistentvolume"
package moved to "k8s.io/component-helpers/storage/volume" package:

- IsDelayBindingMode
- GetBindVolumeToClaim
- IsVolumeBoundToClaim
- FindMatchingVolume
- CheckVolumeModeMismatches
- CheckAccessModes
- GetVolumeNodeAffinity

Also "CheckNodeAffinity" from "k8s.io/kubernetes/pkg/volume/util"
package moved to "k8s.io/component-helpers/storage/volume" package
to prevent diamond dependency conflict.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2022-03-16 15:43:09 +08:00
Kubernetes Prow Robot
aa383570f0
Merge pull request #108705 from denkensk/refine-preempt-msg
make the preempt failed message per node compressible in event
2022-03-15 18:09:55 -07:00
Kubernetes Prow Robot
2b1b849d6a
Merge pull request #108362 from sanposhiho/implement-mindomains
Implement MinDomains on Pod Topology Spread
2022-03-15 10:34:11 -07:00
Alex Wang
ddd62202fb make the preempt message per node compressible 2022-03-15 22:02:19 +08:00
Kubernetes Prow Robot
d7bd0d4f52
Merge pull request #108648 from ahg-g/ahg-ds
Update PreFilter interface to return a PreFilterResult
2022-03-14 18:50:20 -07:00
Abdullah Gharaibeh
da7f085dcb Added a NodeAffinity PreFilter that looks for node.Name MatchField terms; if exist, the pod is only evaluated against the matching nodes. 2022-03-14 15:37:03 -04:00
Abdullah Gharaibeh
5b20b68bc9 Updated the scheduler framework's PreFilter interface to return a PreFilterResult 2022-03-14 15:36:52 -04:00
Patrick Ohly
f84f4fa291 storage capacity: use V1 API 2022-03-14 20:05:45 +01:00
Patrick Ohly
3a7deaa141 storage capacity: GA, always enabled, remove feature check
The code and tests for scenarios where the feature is disabled are no longer
needed because the feature is graduating to GA.
2022-03-14 20:05:45 +01:00
sanposhiho
6141aa53f9 Implement MinDomains 2022-03-15 01:38:44 +09:00
Kubernetes Prow Robot
5b52c4d127
Merge pull request #107674 from sanposhiho/api-min-domains
Add MinDomains API to TopologySpreadConstraints field
2022-03-14 09:33:57 -07:00
Kubernetes Prow Robot
d0d9a69414
Merge pull request #108484 from Abirdcfly/fixctx
fix: some function should pass context parameter
2022-03-11 13:26:34 -08:00
sanposhiho
3b13e9445a Add MinDomains API to TopologySpreadConstraints field 2022-03-09 20:57:12 +09:00
Kubernetes Prow Robot
6e06a116c7
Merge pull request #108479 from Abirdcfly/fixfake
cleanup: delete unused function NewNodeInfoLister
2022-03-03 16:00:55 -08:00
Abirdcfly
9a626ce4d0 cleanup: delete unused func NewNodeInfoLister
Change-Id: I1fb0d92d952b5cbf61633936a0c05f639f4f9600
2022-03-04 01:43:20 +08:00
Abirdcfly
e35cfbb5a7 fix: some function should pass context parameter
Change-Id: Ib509573a72c8bd0c61233ade415fef470c61bf5f
2022-03-04 00:42:45 +08:00
Abirdcfly
52c87654a1 simplify function MatchProvisioner
Change-Id: I15b7507fed50032d0df7a91553ba58f764d92aac
2022-03-03 16:30:20 +08:00
sanposhiho
0b16a7fefa Support ExtenderName in FakeExtender 2022-02-23 12:14:39 +09:00
Abdullah Gharaibeh
8a1c70b48c Graduate PodAffinityNamespaceSelector to GA 2022-02-18 12:07:29 -05:00
Kubernetes Prow Robot
21c0f6f6ff
Merge pull request #107677 from pohly/scheduler-integration-benchmark
scheduler integration benchmark improvements
2022-02-14 01:23:28 -08:00
Kubernetes Prow Robot
0dcd6eaa0d
Merge pull request #103934 from boenn/tainttoleration
De-duplicate predicate (known as filter now) logic shared in kubelet and scheduler
2022-02-09 16:53:46 -08:00
Patrick Ohly
1f341ee7b5 kube-scheduler: downgrade namespace log message from "error" to "info"
GetNamespaceLabelsSnapshot has a fallback when it gets errors when looking up a
namespace, therefore reporting the error is more informational than a real
error. In particular, not finding the namespace is normal when running
test/integration/scheduler_perf and happens so frequently that there is a lot
of output on stderr:

E0120 12:19:09.204768   95305 plugin.go:138] "getting namespace, assuming empty set of namespace labels" err="namespace \"namespace-1\" not found" namespace="namespace-1"
2022-02-07 08:59:19 +01:00
Kubernetes Prow Robot
6410ddaba9
Merge pull request #107623 from bbarnes52/podtopologyoptimization
Optimize pod topology spread performance
2022-02-04 15:58:58 -08:00
Brian Barnes
4222d3a48e optimize pod topology spread 2022-02-04 10:27:58 -08:00
Kubernetes Prow Robot
2fb24de42b
Merge pull request #107775 from denkensk/add-postfilter-info-to-event
Add details about preemption in the event for scheduling failed
2022-01-31 09:38:23 -08:00
Alex Wang
52275fc831 add preemption info in scheduling failed event 2022-02-01 00:37:16 +08:00
Wei Huang
939e98135c
sched: fix goroutine leak in unit tests 2022-01-22 22:53:11 -08:00
Kubernetes Prow Robot
0c8074e1b1
Merge pull request #107445 from mengjiao-liu/goroutine_leak_TestSelectorSpreadScore
Fix goroutine leaks in package `selectorspread`
2022-01-21 11:23:21 -08:00
Kubernetes Prow Robot
184daed0db
Merge pull request #107559 from liggitt/invalid-selectors
Handle invalid selectors properly
2022-01-19 14:49:31 -08:00
Jordan Liggitt
c0af728f43 Handle invalid selectors properly 2022-01-14 12:11:02 -05:00
Wojciech Tyczyński
551790729f Remove selflink references in different testing-related files 2022-01-14 12:58:05 +01:00
Kubernetes Prow Robot
42436c877e
Merge pull request #107462 from dims/next-step-in-csi-migration-for-openstack-take-2
Next step in CSI migration for openstack
2022-01-12 19:57:07 -08:00
Patrick Ohly
9eaa2dc554 avoid klog Info calls without verbosity
In the following code pattern, the log message will get logged with v=0 in JSON
output although conceptually it has a higher verbosity:

   if klog.V(5).Enabled() {
       klog.Info("hello world")
   }

Having the actual verbosity in the JSON output is relevant, for example for
filtering out only the important info messages. The solution is to use
klog.V(5).Info or something similar.

Whether the outer if is necessary at all depends on how complex the parameters
are. The return value of klog.V can be captured in a variable and be used
multiple times to avoid the overhead for that function call and to avoid
repeating the verbosity level.
2022-01-12 07:48:36 +01:00
Mengjiao Liu
d0ec334605 Fix goroutine leaks in package selectorspread 2022-01-12 10:20:32 +08:00
Kubernetes Prow Robot
8d8d3f03c0
Merge pull request #106766 from kerthcet/feature/add-test-to-multipoint
add test to cover multipoint with scoring extension
2022-01-11 09:46:25 -08:00
Kubernetes Prow Robot
39136784a4
Merge pull request #107009 from kerthcet/feature/fix-wrong-calculate-in-podTopologySpread
nodeAffinity filtered nodes should be excluded when calculating skew …
2022-01-11 08:33:16 -08:00
Davanum Srinivas
7fd97433f0
Next step in CSI migration for openstack
delete/modify tests that use intree cinder as well.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-01-10 22:07:44 -05:00
kerthcet
935cbc8e62 nodeAffinity filtered nodes should be excluded when calculating skew in PodTopologySpread
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-01-07 10:25:10 +08:00
sanposhiho
85816089a0 Use math round when convert float to int in Pod Topology Spread 2022-01-07 11:11:47 +09:00
JUN YANG
13fa2b1949 replace all occurrences of "node", nodeName to "node", klog.KRef("", nodeName) 2022-01-06 21:19:29 +08:00
JunYang
b41c2881be Optimize the use of klog.Errors
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2022-01-06 08:47:33 +08:00
Wei Huang
2433b083a9
clear pod's .status.nominatedNodeName when necessary 2021-12-16 10:55:13 -08:00
Davanum Srinivas
497e9c1971
Cleanup OWNERS files (No Activity in the last year)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-15 10:34:02 -05:00
kerthcet
fcfa412270 manual regist plugins to fix failure in multipoint unit tests
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-12-15 12:00:25 +08:00
kerthcet
47463d777a change pluginsNeeded returned value to sets.String
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-12-15 11:59:56 +08:00