Commit Graph

2742 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
92cb0ae6ba
Merge pull request #109832 from sanposhiho/retry-on-update
Retry when it fails to update pods status on scheduling loop
2022-07-18 19:52:05 -07:00
Kubernetes Prow Robot
1c1efde70d
Merge pull request #109639 from Abirdcfly/fixduplicateimport
cleanup: remove all duplicate import
2022-07-18 16:55:23 -07:00
Kubernetes Prow Robot
590e84c097
Merge pull request #111203 from ldsdsy/modify3
Remove redundant code in pkg/scheduler/framework/plugins/volumebinding
2022-07-18 15:36:59 -07:00
Kubernetes Prow Robot
fdc7a5dd25
Merge pull request #111200 from ldsdsy/modify2
Format the code in pkg/scheduler/framework/plugins/noderesources
2022-07-18 15:36:52 -07:00
Kubernetes Prow Robot
93cb8fda4d
Merge pull request #111199 from zhoumingcheng/master-v6
Update error log to Error Wrapping
2022-07-18 15:36:44 -07:00
Kubernetes Prow Robot
93b6af95a0
Merge pull request #111153 from SataQiu/fix-scheduler-20220715
scheduler: remove useless null pointer check about nodeInfo for in-tree plugins
2022-07-18 15:36:37 -07:00
Kubernetes Prow Robot
e56cda48d3
Merge pull request #111047 from SataQiu/fix-scheduler-20220709
scheduler: improve the comment and add more unit test cases for DefaultNormalizeScore
2022-07-18 15:36:17 -07:00
ldsdsy
dbe1331371 Remove redundant code in pkg/scheduler/framework/plugins/volumebinding/volume_binding.go 2022-07-18 11:23:37 +08:00
ldsdsy
2f1168d9a5 Format the code in pkg/scheduler/framework/plugins/noderesources/balanced_allocation.go 2022-07-18 11:03:33 +08:00
zhoumingcheng
d5ed07c8eb Update error log to Error Wrapping
Signed-off-by: zhoumingcheng <zhoumingcheng@beyondcent.com>
2022-07-18 10:54:54 +08:00
Kubernetes Prow Robot
d6f4a5d04a
Merge pull request #111062 from SataQiu/fix-scheduler-20220711
scheduler: using math.MinInt64 instead of -math.MaxInt64
2022-07-15 10:42:18 -07:00
Kubernetes Prow Robot
0e826ffef4
Merge pull request #111127 from HecarimV/fix-22071410
fix: update comment for related updated func
2022-07-14 13:19:08 -07:00
SataQiu
9a2eaa8e3f scheduler: improve the comment and add more unit test cases for DefaultNormalizeScore 2022-07-15 00:15:18 +08:00
SataQiu
97d9d2bd17 scheduler: remove useless null pointer check about nodeInfo for in-tree plugins 2022-07-15 00:09:42 +08:00
Kubernetes Prow Robot
b70f340209
Merge pull request #110958 from kidddddddddddddddddddddd/cleanup/remove-potential-goroutine-leak-in-binder
Pass context to pkg/scheduler/framework/plugins/volumebinding.
2022-07-13 22:50:56 -07:00
Abirdcfly
00b9ead02c cleanup: remove duplicate import
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-14 11:25:19 +08:00
HaoJie Liu
d8702cc369
fix: update comment for related updated func
Signed-off-by: HaoJie Liu <liuhaojie@beyondcent.com>
2022-07-14 10:20:48 +08:00
Francesco Romani
b4e015bf3c sched: schedfwk: init indexers with non-nil map
Using a nil map to initialize the pod indexers will
cause runtime failure when trying to add indexers
in scheduler plugin.
We use a empty map to enable scheduler plugins
to add their indexers.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-07-13 09:24:57 +02:00
Wei Huang
4f77732540
merge MakeDefaultErrorFunc into handleSchedulingFailure 2022-07-12 12:11:16 -07:00
Kubernetes Prow Robot
098c733373
Merge pull request #111032 from kerthcet/cleanup/remove-validation-of-removed-plugins
Remove validation of removedPlugins in KubeSchedulerConfiguration
2022-07-12 08:32:14 -07:00
SataQiu
234dbf0318 scheduler: using math.MinInt64 instead of -math.MaxInt64 2022-07-11 14:53:18 +08:00
kerthcet
0971577c3e Cleanup: remove validation of removedPlugins
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-08 23:19:59 +08:00
HaoJie Liu
5639a4000f
Detailed printed error message
Signed-off-by: HaoJie Liu <liuhaojie@beyondcent.com>
2022-07-08 16:58:29 +08:00
Kubernetes Prow Robot
6adee9d4fb
Merge pull request #110947 from SataQiu/scheduler-20220704
scheduler: do not update sched.nextStartNodeIndex when evaluate nominated node
2022-07-07 07:57:45 -07:00
SataQiu
d3092cd296 scheduler: do not update sched.nextStartNodeIndex when evaluate nominated node 2022-07-07 10:02:28 +08:00
Kubernetes Prow Robot
1ea6eb2d1d
Merge pull request #110954 from kerthcet/fix/deadline-should-be-nil
Fix pod's deadline to nil when cache ttl is set to zero
2022-07-06 07:28:51 -07:00
Kubernetes Prow Robot
a17215fe84
Merge pull request #110768 from kerthcet/fix/filter-out-unsatisfied-nodes-in-AddPod
Filter out unsatisfied nodes when calling  AddPod in PodTopologySpread
2022-07-05 10:15:19 -07:00
kerthcet
72e8fc1d87 Fix: pod's deadline shoud be nil when cache ttl is 0
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-05 23:29:31 +08:00
kidddddddddddddddddddddd
c62479a6f1 Pass ctx to BindPodVolumes. 2022-07-05 20:23:07 +08:00
SataQiu
e74af4bdfa scheduler: remove unused Equal function for HTTPExtender 2022-07-05 13:17:05 +08:00
Kapil Jain
4706dda5da Added code for disable scheduler cache expiry 2022-07-04 23:46:59 +05:30
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
Yuan Chen
ef0456eb40 Refactor scheduler code 2022-06-30 11:27:25 -07:00
harry1064
fceb5cd4b1
Use clock package from k8s.io/utils/clock
- Remove unwanted clock.go file.
2022-06-25 00:25:12 +08:00
Kubernetes Prow Robot
18b5efceda
Merge pull request #110410 from Jiawei0227/master
CSIMigration feature gate to GA
2022-06-22 04:05:48 -07:00
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
a57c140a12
Merge pull request #110567 from xiaomudk/patch-2
Remove redundant variable definitions in scheduler apis defaults.go
2022-06-21 09:46:25 -07:00
Kensei Nakada
8b18f7c869 Retry when update unschedulable pods status on scheduling loop 2022-06-17 19:09:30 +00: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
xiaomudk
8e7b6f3770 Remove redundant variable definitions in scheduler apis defaults.go 2022-06-14 22:36:00 +08: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
xiaomudk
8187c2da9e Optimize code for SetDefaults_NodeResourcesBalancedAllocationArgs 2022-06-13 23:09:08 +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
Wojciech Tyczyński
fe3616cafb Clean shutdown of kcm, ccm and scheduler 2022-05-26 12:36:59 +02: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
Kubernetes Prow Robot
cc66198570
Merge pull request #108492 from kerthcet/feature/add-NodeInclustionPolicies
Add NodeInclusionPolicy to TopologySpreadConstraint in PodSpec
2022-05-10 08:41:43 -07: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
kerthcet
02f0a3ee91 feat: add NodeInclusionPolicy to TopologySpreadConstraint in PodSpec
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-10 12:54:49 +08:00
Kubernetes Prow Robot
b53be1d66e
Merge pull request #109879 from zzr93/master
wake up only when pod being added to activeQ
2022-05-09 09:09:18 -07:00
zzr93
923a99db95 unify wake up variable names to activated 2022-05-08 12:09:13 +08: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
zzr93
94ed4d0761 wake up only when pod being added to activeQ 2022-05-07 11:23:06 +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
Yibo Zhuang
fd08d47d8b cleanup: move scheduler tests to use PodWrapper
Move to use testing PodWrapper where applicable to
reduce duplicating pod creation code and shorten
number of lines.

Adding additional wrapper functions in PodWrapper
to ensure it covers all pod spec under tests.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-05-05 10:48:26 -07:00
Kubernetes Prow Robot
1234d061c0
Merge pull request #109727 from Huang-Wei/cleanup-sched-heap
sched: remove unused code in heap.go
2022-05-04 08:01:51 -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
Kubernetes Prow Robot
aca3b6a0ce
Merge pull request #109536 from yuanchen8911/master
Add PodWrapper functions for scheduler testing
2022-05-04 01:29:12 -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
Wei Huang
9f2b5018c1
sched: remove unused code 2022-04-29 11:37:35 -07:00
Abirdcfly
a7cfbb3e6c
fix volumebinding test in scheduler
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-04-28 16:22:02 +08:00
Yuan Chen
d1a2f699a7 Add PodWrapper functions for scheduler testing
Fix a typo in comment
2022-04-19 20:30:04 -07: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
11a6146283
Merge pull request #109245 from alculquicondor/fix-nominate
Fix: abort nominating a pod that was already scheduled to a node
2022-04-04 12:55:51 -07:00
Aldo Culquicondor
429457e184 Fix: abort nominating a pod that was already scheduled to a node
Change-Id: Iacb8530769e7a93e3bc8384cf51d7a8fd9a192e1
2022-04-04 10:52:59 -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
Kante
9bb76ecf00
migrate scheduling logic to schedule_one.go as more reasonable (#109045)
* refactor: migrate scheduling logic to scheduler_one.go as more reasonable

Signed-off-by: kerthcet <kerthcet@gmail.com>

* remove snapshot() function

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-03-27 08:51:20 -07: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
Kubernetes Prow Robot
d60df5ba04
Merge pull request #108159 from pohly/logcheck
logcheck update and golangci-lint integration
2022-03-24 18:37:50 -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
Patrick Ohly
0f4d0660a7 kube-scheduler: finish conversion to structured logging
Thanks to support for multi-line string values we can now also convert
these remaining klog.Info calls without making the output unreadable
in text format.

The debug log messages intentionally don't get changed to ensure that
developers looking for it still find it.

The output now looks like this:

I0322 11:44:46.715093  458409 configfile.go:96] "Using component config" config=<
	apiVersion: kubescheduler.config.k8s.io/v1beta2
	clientConnection:
	  acceptContentTypes: ""
	  burst: 100
	  contentType: application/vnd.kubernetes.protobuf
	  kubeconfig: /var/run/kubernetes/scheduler.kubeconfig
	  qps: 50
	enableContentionProfiling: true
 ...
	  schedulerName: default-scheduler
 >

I0322 11:45:08.695649  458409 comparer.go:42] "Cache comparer started"
I0322 11:45:08.695718  458409 comparer.go:67] "Cache comparer finished"
I0322 11:45:08.695820  458409 dumper.go:52] "Dump of cached NodeInfo" nodes=<
	Node name: 127.0.0.1
	Deleted: false
	Requested Resources: &{MilliCPU:0 Memory:0 EphemeralStorage:0 AllowedPodNumber:0 ScalarResources:map[]}
	Allocatable Resources:&{MilliCPU:36000 Memory:67019448320 EphemeralStorage:181555660500 AllowedPodNumber:110 ScalarResources:map[hugepages-1Gi:0 hugepages-2Mi:0]}
	Scheduled Pods(number: 0):
 >
I0322 11:45:08.695873  458409 dumper.go:62] "Dump of scheduling queue" pods=<
	name: coredns-6874cd75d4-fv6hv, namespace: kube-system, uid: f1df106f-7fd9-460d-8403-333df61b2751, phase: Pending, nominated node:
 >
2022-03-24 11:13:50 +01:00
Alex Wang
8a5df1302a rename unschedulableQ to unschedulablePods
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-03-24 17:38:49 +08:00