Commit Graph

989 Commits

Author SHA1 Message Date
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
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