Commit Graph

106 Commits

Author SHA1 Message Date
ialidzhikov
7c8a151faa pkg/scheduler: Replace deprecated func usage from the k8s.io/utils/pointer pkg 2022-08-16 08:39:18 +03:00
kerthcet
97e3e50493 Remove potential goroutine leak in NewFramework
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-06 00:05:22 +08:00
Alex Wang
f4bc904376 implementation for MatchLabelKeys in TopologySpreadConstraint
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-07-30 13:23:49 +08:00
kerthcet
5a358f478b Fix: filter out unsatisfied nodes when calling AddPod in PodTopologySpread
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-01 11:46:26 +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
lokichoggio
60327c9090
code optimization 2022-06-06 14:23:42 +08:00
Wojciech Tyczyński
7060953b92 Clear shutdown of scheduler metrics recorder 2022-05-20 20:23:29 +02:00
kerthcet
790d983867 feat: implement NodeInclusionPolicy in TopologySpreadConstraint
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-11 07:51:18 +08: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
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
5b20b68bc9 Updated the scheduler framework's PreFilter interface to return a PreFilterResult 2022-03-14 15:36:52 -04:00
sanposhiho
6141aa53f9 Implement MinDomains 2022-03-15 01:38:44 +09:00
sanposhiho
3b13e9445a Add MinDomains API to TopologySpreadConstraints field 2022-03-09 20:57:12 +09: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
Wei Huang
939e98135c
sched: fix goroutine leak in unit tests 2022-01-22 22:53:11 -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
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
Kubernetes Prow Robot
adff4a75ad
Merge pull request #105931 from mengjiao-liu/structured_logging_scheduler_part2
Migrate scheduler files `interpodaffinity/filtering.go`,`podtopologyspread/filtering.go`, `volume_zone.go` to structured logging
2021-10-29 12:13:23 -07:00
Mengjiao Liu
2783ddc227 Migrate scheduler files interpodaffinity/filtering.go,podtopologyspread/filtering.go, volume_zone.go to structured logging 2021-10-29 11:41:02 +08:00
sanposhiho
9dc0489c1a Fix: move parallelize package to non-internal file 2021-10-21 02:39:23 +09:00
Aldo Culquicondor
609306dd5b Skip check for all topology labels when using system default spreading
Checking for all topology labels is not backwards compatible. Clusters were nodes don't have zone labels effectively have default spreading disabled.

Change only applies to system defaults.
2021-09-16 09:37:56 -04:00
Abdullah Gharaibeh
46f3e4dfdd Define in-tree scheduler plugin names in separate pkg to break a cyclic depednecy when moving plugin defaulting to CC 2021-06-09 15:36:09 -04:00
Abdullah Gharaibeh
6c0976814c use ownerReference to build default spreading contraints in the scheduler 2021-05-25 16:04:48 -04:00
Kubernetes Prow Robot
6d130d3b97
Merge pull request #100557 from chendave/validation_cleanup
Validate plugin config for KubeSchedulerConfiguration
2021-04-14 18:20:01 -07:00
Dave Chen
c6e65079c7 Validate plugin config for KubeSchedulerConfiguration
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-14 09:30:20 +08:00
yuzhiquan
76b68a19d7 implement register events for PodTopologySpread 2021-04-08 09:14:34 +08:00
Mengxue Zhang
fd8128d7d6 move nodeaffinity helpers to component-helpers package (only impact scheduler plugins) 2021-03-09 21:33:02 +00:00
drfish
c2ceb21a3e Make parallelism as part of schedulerOptions 2021-03-09 23:25:55 +08:00
Kubernetes Prow Robot
2b3f97b08f
Merge pull request #99389 from tanjing2020/change-log
Use %w instead of %v to format errors
2021-03-08 12:07:12 -08:00
tanjing2020
61cd099bc1 Use %w instead of %v to format errors 2021-03-08 10:23:08 +08:00
Mengxue Zhang
b38caa91cc make runtime.NewFramework accept KubeSchedulerProfile 2021-03-05 18:30:21 +00:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
drfish
d4418c1402 Update the PreFilterExtensions interface to use PodInfo 2021-01-19 00:49:52 +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
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
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
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Aldo Culquicondor
c8a0b9e8e7 Add defaultingType to PodTopologySpreadArgs
Change-Id: Ibf6a4fdb39a31fe9deed68de7e7cb24a9bf9d06a
2020-10-09 17:12:12 -04:00
Arghya Sadhu
8154dc95b5 wrap errors in selectorspread and podtoplogyspread plugin 2020-09-28 21:28:54 +05:30
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
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
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