Commit Graph

1044 Commits

Author SHA1 Message Date
kidddddddddddddddddddddd
5411c05460 save state data for reserve 2023-01-08 10:49:35 +08:00
kidddddddddddddddddddddd
0abdf6abc2 revert check in filter 2023-01-07 22:30:16 +08:00
kidddddddddddddddddddddd
059d520537 return skip 2023-01-07 21:58:54 +08:00
kidddddddddddddddddddddd
de7c8db7cb return skip 2023-01-07 21:48:30 +08:00
Kensei Nakada
570c2d7036 cleanup(nodeaffinity): remove impossible scenario from test cases 2023-01-07 08:46:35 +00:00
Kubernetes Prow Robot
c549b59983
Merge pull request #114125 from sanposhiho/skip-reimplementation
feature(scheduler): won't run Filter if PreFilter returned a Skip status
2023-01-06 02:25:59 -08:00
Kensei Nakada
e5b536755f feature(scheduler): won't run Filter if PreFilter returned a Skip status 2023-01-06 07:38:15 +00:00
Wei Huang
9b64025f36
rename 'PreemptionByKubeScheduler' to 'PreemptionByScheduler' 2023-01-05 10:31:57 -08:00
Wei Huang
91742e2393
Enhanced logic to identify eligible preemption node 2023-01-05 10:31:57 -08:00
Kubernetes Prow Robot
3a5829044c
Merge pull request #114098 from kidddddddddddddddddddddd/feat/pv_list
Optimize volumebinding by moving PV list calls to PreFilter
2022-12-22 10:11:37 -08:00
Kubernetes Prow Robot
419e0ec3d2
Merge pull request #114390 from tangwz/improve_NodeResourcesFit_replace_small_maps_with_slices
Improve performance of NodeResourcesFit scoring
2022-12-22 06:57:26 -08:00
kidddddddddddddddddddddd
27c5c0a16d pv_list to prefilter 2022-12-22 14:59:41 +08:00
Kubernetes Prow Robot
70c28f3e12
Merge pull request #114486 from kerthcet/cleanup/make-preemption-more-readable
Make handling scheduleResult more readable
2022-12-21 15:01:25 -08:00
Kante Yin
c8908716ee Make handling scheduleResult more readable
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2022-12-22 01:22:34 +08:00
tangwz
a4ab559ba4 Improve performance of NodeResourcesFit scoring
Signed-off-by: tangwz <tangwz.com@gmail.com>
2022-12-21 23:23:47 +08:00
Kubernetes Prow Robot
a3ca5fd2c8
Merge pull request #114456 from kidddddddddddddddddddddd/status_with_error
return error message when calling status.Message()
2022-12-19 11:09:43 -08:00
kidddddddddddddddddddddd
e789beb213 errMsg 2022-12-19 23:52:06 +08:00
Jordan Liggitt
78cb3862f1
Fix indentation/spacing in comments to render correctly in godoc 2022-12-17 23:27:38 -05:00
Kubernetes Prow Robot
c2b5457dfa
Merge pull request #109877 from yibozhuang/local-pv-prefilter-result
scheduler volumebinding: leverage PreFilterResult for bound local PVs
2022-12-13 14:53:34 -08:00
Kubernetes Prow Robot
c80b03fee8
Merge pull request #113499 from kerthcet/cleanup/map-empty-judgement
Fix: resourceToWeightMap will never be nil here
2022-12-12 00:15:33 -08:00
Kubernetes Prow Robot
a800f1e0c0
Merge pull request #114216 from alculquicondor/avoid-serialization
Avoid serialization of maps when log level < 10
2022-12-10 07:54:24 -08:00
kidddddddddddddddddddddd
9e0a7c7ee7 add pre_filter for volume_zone 2022-12-03 02:11:04 +08:00
Aldo Culquicondor
b62541fe84
Avoid serialization of maps when log level < 10
Change-Id: If264c26ae599602d5b4919301f011c2095d706ee
2022-11-30 12:53:52 -05:00
Yibo Zhuang
380c7f248e scheduler volumebinding: leverage PreFilterResult
This change will leverage the new PreFilterResult
to reduce down the list of eligible nodes for pod
using Bound Local PVs during PreFilter stage so
that only the node(s) which local PV node affinity
matches will be cosnidered in subsequent scheduling
stages.

Today, the NodeAffinity check is done during Filter
which means all nodes will be considered even though
there may be a large number of nodes that are not
eligible due to not matching the pod's bound local
PV(s)' node affinity requirement. Here we can
reduce down the node list in PreFilter to ensure that
during Filter we are only considering the reduced
list and thus can provide a more clear message to
users when node(s) are not available for scheduling
since the list only contains relevant nodes.

If error is encountered (e.g. PV cache read error) or
if node list reduction cannot be done (e.g. pod uses
no local PVs), then we will still proceed to consider
all nodes for the rest of scheduling stages.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-11-17 21:37:24 -08:00
Kubernetes Prow Robot
d1c0171aed
Merge pull request #111023 from pohly/dynamic-resource-allocation
dynamic resource allocation
2022-11-11 16:21:56 -08:00
Patrick Ohly
d2ff210c20 scheduler: add dynamic resource allocation plugin
The plugin handles the interaction with ResourceClaims that are referenced by a
Pod.
2022-11-11 21:58:03 +01:00
Jan Safranek
5b284a50b7 Revert "Remove references to openstack and cinder"
This reverts commit 9bbf01bae9.
2022-11-10 18:25:30 +01:00
kerthcet
7b7da83a8a Fix: resourceToWeightMap will never be nil
Use len() instead of telling whether it's nil
Add tests to guarantee that when resourceToWeightMap is nil, scheduler will not crash

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-10 14:07:02 +08:00
Michal Wozniak
b3e9d8ef4c Cleanup the default_preemption_test by indexing the potential victim pods 2022-11-09 10:26:08 +01:00
Michal Wozniak
c803892bd8 Enable the feature into beta 2022-11-09 09:02:40 +01:00
Wei Huang
0b27f25252
PreEnqueue implementation
- Add PreEnqueuePlugin to Scheduler Framework
- Implement PreEnqueuePlugin in scheduler queue
- Implementation of SchedulingGates plugin
- Metrics
2022-11-07 14:02:58 -08:00
Abirdcfly
bf8570029e
chore(scheduler): cleanup some minor issues in testing 2022-11-03 09:07:28 +08:00
Kubernetes Prow Robot
424a98ccc2
Merge pull request #109662 from astraw99/fix-prebind-pvc-update
Replace `DeepEqual` to `Diff` compare on scheduler-binding
2022-10-18 11:29:18 -07:00
SataQiu
ba925a8393 scheduler: remove unused constant DefaultBindTimeoutSeconds from VolumeBinding plugin 2022-10-17 17:25:59 +08:00
kidddddddddddddddddddddd
b901ef0f68 changes in test files 2022-10-12 22:11:04 +08:00
kidddddddddddddddddddddd
121d24cfc7 changes in non-test files 2022-10-12 21:09:55 +08:00
kerthcet
55dcde737d typo fixed
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-29 18:08:15 +08:00
SataQiu
7ab0c56f71 scheduler: remove unused plugin name ServiceAffinity 2022-09-28 17:25:18 +08:00
Kubernetes Prow Robot
5fe1450ba7
Merge pull request #112028 from dengyufeng2206/test2508
fix several typos under scheduler framework
2022-09-22 15:18:53 -07:00
Sergey Kanzhelev
ad7199a9da remove podOverhead feature gate as a feature is now GA since 1.24 2022-09-19 19:25:16 +00:00
Kubernetes Prow Robot
3e5e5cc7ee
Merge pull request #112357 from SataQiu/deprecated-20220907
kube-scheduler: add taints filtering logic consistent with TaintToleration plugin for PodTopologySpread plugin
2022-09-16 18:14:27 -07:00
kerthcet
9a9fbf598e Fix calculating error when adding nominated pods in podTopologySpread
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-16 17:28:49 +08:00
Kubernetes Prow Robot
3ac752e4a0
Merge pull request #112003 from sanposhiho/metrics-goroutine
feature(scheduler): add "goroutines" metric and deprecate the "scheduler_goroutines" metric
2022-09-12 12:01:16 -07:00
Kubernetes Prow Robot
6cf208e4d4
Merge pull request #112354 from pohly/volumebinding-delete-event-handler
volumebinding: handle special delete event in AssumeCache
2022-09-12 08:07:36 -07:00
SataQiu
bc9c494319 kube-scheduler: add taints filtering logic consistent with TaintToleration plugin for PodTopologySpread plugin
Signed-off-by: SataQiu <shidaqiu2018@gmail.com>
2022-09-10 09:04:30 +08:00
Kante Yin
096dafe757
Feat: unify the status handle when return in bindingCycle (#112103)
Signed-off-by: kerthcet <kerthcet@gmail.com>

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-09 08:31:23 -07:00
Kubernetes Prow Robot
f0fa987c05
Merge pull request #111544 from jlsong01/fix_resource_req_zero
fix pod created failed when resource request is 0
2022-09-02 10:56:05 -07:00
Patrick Ohly
c70203bda3 volumebinding: handle special delete event in AssumeCache
Sometimes an informer might not directly send the deleted object to the
OnDelete callback, but rather a DeletedFinalStateUnknown. The AssumeCache did
not handle that case.
2022-09-02 12:39:40 +02:00
Kensei Nakada
08bd123b95 feature(scheduler): add "goroutines" metric and deprecate the "scheduler_goroutines" metric 2022-09-01 13:21:21 +00:00
Dave Chen
7533748bcc fix: Node not found when testcases is executed
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-08-31 18:28:48 +08:00
Kubernetes Prow Robot
4269caeffd
Merge pull request #111864 from kerthcet/cleanup/remove-untrue-comments
Remove not correct annotations with node.Spec.Unschedulable
2022-08-26 11:30:15 -07:00
dengyufeng2206
1a07ea2f60 fix several typos under scheduler framework
Signed-off-by: dengyufeng2206 <deng.yufeng@zte.com.cn>
2022-08-25 19:02:07 +08:00
Kubernetes Prow Robot
34aa4c39e0
Merge pull request #111845 from ialidzhikov/cleanup/pkg-scheduler
pkg/scheduler: Replace deprecated func usage from the `k8s.io/utils/pointer` pkg
2022-08-23 20:08:15 -07:00
Kubernetes Prow Robot
07bca2d791
Merge pull request #67782 from dims/yank-in-tree-openstack-cloud-provider
Remove in-tree openstack cloud provider
2022-08-23 18:59:48 -07:00
Kubernetes Prow Robot
7424098eaf
Merge pull request #109945 from bells17/fix-error-message
Fix error message
2022-08-23 16:04:26 -07:00
Davanum Srinivas
9bbf01bae9
Remove references to openstack and cinder
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-22 16:43:14 -04:00
kerthcet
b27ceebc93 Remove out-of-date comments
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-16 14:05:11 +08:00
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
bells17
e539e04103 Use stretchr/testify/assert 2022-08-05 00:54:19 +09:00
Kubernetes Prow Robot
442574f3a7
Merge pull request #111513 from jingxu97/july/localstorage
Promote Local storage capacity isolation feature to GA
2022-08-03 13:05:59 -07:00
jinxu
0064010cdd Promote Local storage capacity isolation feature to GA
This change is to promote local storage capacity isolation feature to GA

At the same time, to allow rootless system disable this feature due to
unable to get root fs, this change introduced a new kubelet config
"localStorageCapacityIsolation". By default it is set to true. For
rootless systems, they can set this configuration to false to disable
the feature. Once it is set, user cannot set ephemeral-storage
request/limit because capacity and allocatable will not be set.

Change-Id: I48a52e737c6a09e9131454db6ad31247b56c000a
2022-08-02 23:45:48 -07:00
Kubernetes Prow Robot
369a465fae
Merge pull request #111301 from mattcary/migration-feature
Upgrade CSIMigrationGCE feature gate to GA
2022-08-02 13:58:57 -07:00
Matthew Cary
e5d387c5d6 Upgrade CSIMigrationGCE feature gate to GA
Change-Id: I620bc4913765c0d6562eb1008216a72e8b0a2970
2022-08-02 09:14:27 -07:00
jlsong01
27824fb06a fix pod created failed when resource request is 0 2022-08-02 23:41:53 +08:00
Kubernetes Prow Robot
1e18ff5b37
Merge pull request #111479 from wongma7/migrationawsga
Promote CSIMigrationAWS to GA
2022-08-01 13:18:29 -07:00
Kubernetes Prow Robot
3902a53419
Merge pull request #111441 from denkensk/respect-topology
Respect PodTopologySpread after rolling upgrades
2022-07-30 01:40:42 -07:00
Kubernetes Prow Robot
2ae27c89ba
Merge pull request #111206 from SataQiu/scheduler-20220718
scheduler: include supported ScoringStrategyType list in error message for NodeResourcesFit plugin
2022-07-30 01:40:29 -07: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
Matthew Wong
777f43062c Remove unit tests that set & test CSIMigrationAWS false since it's now locked to true 2022-07-29 13:52:06 -07:00
Kubernetes Prow Robot
1865f7cb9b
Merge pull request #111287 from ldsdsy/modify1
Update the comment in pkg/scheduler/framework/plugins/noderesources
2022-07-29 08:35:11 -07:00
Davanum Srinivas
a9593d634c
Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
SataQiu
107dee6f04 scheduler: ValidateNodeResourcesFitArgs will check ScoringStrategy.Type field and print supported ScoringStrategyType list on error 2022-07-26 13:23:03 +08:00
ldsdsy
cc46cb002a Update the comment in pkg/scheduler/framework/plugins/noderesources/most_allocated.go 2022-07-20 21:38:50 +08: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
astraw99
e3ea17a97c fix pvc/pv update on binding pod volumes 2022-07-15 10:23:25 +08: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
SataQiu
234dbf0318 scheduler: using math.MinInt64 instead of -math.MaxInt64 2022-07-11 14:53:18 +08: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
kidddddddddddddddddddddd
c62479a6f1 Pass ctx to BindPodVolumes. 2022-07-05 20:23:07 +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
18b5efceda
Merge pull request #110410 from Jiawei0227/master
CSIMigration feature gate to GA
2022-06-22 04:05:48 -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
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
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
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
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
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
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
Wei Huang
6532bad659
compact scheduling failure msg for taint/toleration mismatch 2022-03-29 15:29:19 -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
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
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
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
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
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
d7f8234b6d
Merge pull request #106747 from ahg-g/ahg-test
Added an integration test for NodeResourcesFit scoring
2021-12-07 19:28:06 -08:00
Kubernetes Prow Robot
75109026d0
Merge pull request #106447 from hyschumi/fix-noderesources
cleanup duplicated method `makeNodeWithExtendedResource` in noderesources unit test
2021-12-07 17:27:10 -08:00
Abdullah Gharaibeh
33a04dc5f5 Added an integration test for NodeResourcesFit scoring 2021-11-30 12:13:30 -05:00
boenn
cec2aae1e5 rebase master 2021-11-25 11:21:12 +08:00
hyschumi
7ad629c864 rm makeNodeWithExtendedResource method in noderesources unit test && doc: update least_allocated strategy detail doc 2021-11-18 09:15:26 +08:00
Oksana Naumov
3af11fc12d Add support for Portworx to csi-translation lib
Signed-off-by: Oksana Naumov <trierra.dev@gmail.com>
2021-11-16 13:26:09 -08:00
Kubernetes Prow Robot
66c342ba63
Merge pull request #95361 from humblec/rbd-migration
RBD in-tree plugin migration to CSI driver using migration translation lib
2021-11-15 19:53:25 -08:00
Humble Chirammal
7c40eb9ae0 Add support for rbd plugin to csi-translation-lib
In support of csi-migration proposal here:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md

Will help with migration of in-tree RBD plugin ( kubernetes.io/rbd)
to RBD CSI driver ( rbd.csi.ceph.com ).

Fixes https://github.com/kubernetes/enhancements/issues/2923

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-11-15 23:46:29 +05:30
Shivanshu Raj Shrivastava
3142acbc8c
migrated remaining lines of server.go and csi.go to structured logging 2021-11-10 21:24:34 +05:30
Kubernetes Prow Robot
a41d166a90
Merge pull request #105904 from mengjiao-liu/structured_logging_scheduler
Migrate assume_cache.go to structured logging
2021-11-09 11:28:00 -08:00
Kubernetes Prow Robot
6ac2d8edc8
Merge pull request #105967 from shivanshu1333/feature2/master/105841
Migrated scheduler files `preemption.go`, `stateful.go`, `resource_allocation.go` to structured logging
2021-11-09 10:28:01 -08:00
Shivanshu Raj Shrivastava
f4aad52885
migrated preemption.go, stateful.go, resource_allocation.go to structured logging 2021-11-08 22:52:47 +05:30
Kubernetes Prow Robot
53addf3ba3
Merge pull request #105858 from jyz0309/migrate-log
Migrated scheduler files binder.go binder_test.go to structured logging
2021-11-02 19:01:09 -07:00
Kubernetes Prow Robot
ec8e6e8778
Merge pull request #106002 from kerthcet/feature/refactor-NodeResourcesFit-plugin
refactor scheudler's node resource plugins
2021-11-02 10:52:34 -07:00
kerthcet
e5dd375b14 refactor scheudler's node resource plugins
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-11-03 00:52:23 +08:00
Mengjiao Liu
e262e3ad2f Migrate assume_cache.go to structured logging 2021-11-01 17:43:39 +08:00
jyz0309
07bf08690c migrate log to structure log
Signed-off-by: jyz0309 <45495947@qq.com>

add klog.Kobj

Signed-off-by: jyz0309 <45495947@qq.com>

use KObj

Signed-off-by: jyz0309 <45495947@qq.com>

address comment

Signed-off-by: jyz0309 <45495947@qq.com>

remove useless var

Signed-off-by: jyz0309 <45495947@qq.com>

format code

Signed-off-by: jyz0309 <45495947@qq.com>

address comment

Signed-off-by: jyz0309 <45495947@qq.com>

use err key

Signed-off-by: jyz0309 <45495947@qq.com>

use PVC

Signed-off-by: jyz0309 <45495947@qq.com>

improve log message

Signed-off-by: jyz0309 <45495947@qq.com>

address comment

Signed-off-by: jyz0309 <45495947@qq.com>

use pod instead podName

Signed-off-by: jyz0309 <45495947@qq.com>
2021-10-31 21:11:26 +08:00
Ahmad Diaa
a2c37bfd09
use original requests in NodeResourcesBalancedAllocation instead of NonZero (#105845) 2021-10-29 19:04:14 -07: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
Kubernetes Prow Robot
c592bd40f2
Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
8e8bf06f15
Merge pull request #105796 from sanposhiho/move/parallelizer-to-non-internal
Fix: move parallelize package to non-internal file
2021-10-28 15:31:00 -07:00
Kubernetes Prow Robot
87b0412232
Merge pull request #105727 from chendave/wrong_status
Fix the inaccurate status when a plugin internal status is found
2021-10-27 19:45:02 -07:00
Dave Chen
468a6005a6 Fix the return status when a plugin internal status is found
Currently, the status code returned is `Unschedulable` when an internal error
found, the `Unschedulable` status is built from a `FitError` which means no
fit nodes found without a internal error.

Instead of build an Unschedulable status from the `FitError`, return the
Error status directly.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-10-28 09:43:31 +08:00
kerthcet
2c5b5533bf remove scheduler NodeLabel plugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-27 10:07:35 +08:00
Kubernetes Prow Robot
3141c984a1
Merge pull request #105907 from kerthcet/feature/remove-scheduler-plugin-nodePreferAvoidPods
remove scheduler NodePreferAvoidPods plugin
2021-10-26 18:07:41 -07:00
kerthcet
a139da6b04 remove scheduler NodePreferAvoidPods plugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-27 08:05:44 +08:00
Shivanshu Raj Shrivastava
3c87c43cef
Migrated scheduler files server.go, node_label.go, csi.go, non_csi.go to structured logging (#105855)
* migrated server.go

* fixed migration

* resolving review comments

* added storageClass

* review comments

* review comments
2021-10-26 13:21:22 -07:00
Abdullah Gharaibeh
faf0ce68a0 Remove scheduler's legacy policy config 2021-10-24 21:58:12 -04:00
sanposhiho
9dc0489c1a Fix: move parallelize package to non-internal file 2021-10-21 02:39:23 +09:00
kerthcet
fc9533e72f remove scheduler ServiceAffinity plugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-15 22:10:31 +08:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
Patrick Ohly
bc263f3ba5 scheduler: use generic ephemeral volume helper functions
The name concatenation and ownership check were originally considered small
enough to not warrant dedicated functions, but the intent of the code is more
readable with them.
2021-10-11 17:33:57 +02:00
Wei Huang
b7d90ca991
sched: adjust events to register for VolumeBinding plugin 2021-10-07 08:51:04 -07:00
Kubernetes Prow Robot
6c292ce270
Merge pull request #105245 from yibozhuang/lost-pvc-prefilter-optimization
Scheduler volumebinding plugin - handle Lost PVC as UnschedulableAndUnresolvable
2021-10-05 08:23:09 -07:00
Kubernetes Prow Robot
04f747d09f
Merge pull request #104782 from kerthcet/cleanup/remove-cc-v1beta1
remove scheduler component config v1beta1
2021-10-04 08:53:08 -07:00
Kubernetes Prow Robot
e414cf7641
Merge pull request #100482 from pohly/generic-ephemeral-volume-checks
generic ephemeral volume checks
2021-10-01 10:47:22 -07:00
Patrick Ohly
1d181ad84f scheduler: fail the volume attach limit when PVC is missing
Previously, the situation was ignored, which might have had the effect that Pod
scheduling continued (?) even though the Pod+PVC weren't known to be in an
acceptable state.
2021-10-01 17:03:44 +02:00
Patrick Ohly
1e26115df5 consider ephemeral volumes for host path and node limits check
When adding the ephemeral volume feature, the special case for
PersistentVolumeClaim volume sources in kubelet's host path and node
limits checks was overlooked. An ephemeral volume source is another
way of referencing a claim and has to be treated the same way.
2021-10-01 17:03:44 +02:00
Yibo Zhuang
b8fe514232 Scheduler volumebinding plugin - handle Lost PVC as
UnschedulableAndUnresolvable

This change adds an additional check in the volumebinding scheduler
plugin to handle PVC with phase ClaimLost which will allow the
scheduler to return UnschedulableAndUnresolvable during the PreFilter
stage and skip the rest of the node evaluation since the PVC is
bound to a PV that does not exist.

Without this change, the FailedScheduling error message would look like:

0/10 nodes are available: 2 node(s) had taint {node/test: true},
that the pod didn't tolerate, 6 node(s) had taint {node/unhealthy: true},
that the pod didn't tolerate, 2 pvc(s) bound to non-existent pv(s)

Which is still evaluating every single node to determine that the pod
cannot be scheduled because the PVC is bound to a non-existent PV

With this change, the FailedScheduling error message would look like:

0/10 nodes are available: 1 persistentvolumeclaim "foo" bound
to non-existent persistentvolume "bar"

Signed-off By: Yibo Zhuang <yibzhuang@gmail.com>
2021-09-30 21:49:46 -07:00
kerthcet
75a255d2ed remove scheduler component config v1beta1
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-09-28 13:13:17 +08:00
Yibo Zhuang
603a4e1931 Enhance ErrReasonPVNotExist in volumebinding scheduler plugin
This change will make the message more clear when there
is a case of PVC(s) bound to PV(s) that no longer exists
and scheduler does not select the node due to this issue.

Previous error message would look like:
0/2 nodes are available: 2 pvc(s) bound to non-existent pv(s)

Updated message looks like:
0/2 nodes are available: 2 node(s) unavailable due to one or more
pvc(s) bound to non-existent pv(s)

For larger clusters with many different reasons of nodes that
are not available, the current message can be very misleading for
users to think that there are many PVCs lost due to PVs deleted but
in fact it could be just a single PVC case but many nodes not selected
by the scheduler due to this case.

Signed-off By: Yibo Zhuang <yibzhuang@gmail.com>
2021-09-27 15:02:35 -07:00
Kubernetes Prow Robot
24408ef7f5
Merge pull request #104892 from zzchun/fix-typo-in-node_affinity_test
fix typo in node_affinity_test
2021-09-23 13:22:55 -07:00
Wei Huang
3b64c1b01d
sched: de-duplicate plugin registration logic by using FactoryAdapter 2021-09-20 10:12:34 -07:00
Kubernetes Prow Robot
fb70ca9b7b
Merge pull request #105046 from alculquicondor/system-spreading
Skip check for all topology labels when using system default spreading
2021-09-16 11:36:14 -07: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
Patrick Ohly
1d656d46a2 scheduler: avoid repeated boilerplate code when registering plugins
Some plugins expect the new feature gate struct. We can inject that additional
parameter via a helper function instead of having to repeat the same anonymous
function for each plugin.
2021-09-16 11:23:57 +02:00
Yecheng Fu
82b50dcb7b scheduler/volumebinding: migrate to use pkg/scheduler/framework/plugins/feature 2021-09-11 10:17:28 +08:00
zzchun
7c17672ae7 fix typo in node_affinity_test
Signed-off-by: zzchun <zzchun@zju.edu.cn>
2021-09-10 15:10:24 +08:00
Dave Chen
6e1835b83b Fix couple of incorrect description
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-09-08 10:08:23 +08:00
Kubernetes Prow Robot
b12379ef1c
Merge pull request #104605 from pohly/ephemeral-volume-events
scheduler: more informative generic ephemeral volume events
2021-09-03 17:51:19 -07:00
zc
b33897f36d modify non-uniform aliases 2021-08-31 09:07:51 +08:00
Patrick Ohly
89cb4d0ee9 scheduler: better reason for delay with generic ephemeral volumes
These events are currently emitted for a pod using a generic ephemeral volume:

  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  3s    default-scheduler  0/1 nodes are available: 1 persistentvolumeclaim "my-csi-app-inline-volume-my-csi-volume" not found.
  Warning  FailedScheduling  2s    default-scheduler  0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.

The one about "persistentvolumeclaim not found" is potentially confusing. It
occurs because the scheduler typically checks the pod before the ephemeral
volume controller had a chance to create the PVC.

This is a bit easier to understand:

  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  4s    default-scheduler  0/1 nodes are available: 1 waiting for ephemeral volume controller to create the persistentvolumeclaim "my-csi-app-inline-volume-my-csi-volume".
  Warning  FailedScheduling  2s    default-scheduler  0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.
2021-08-30 10:06:59 +02:00
dntosas
cd795fa2eb
[scheduler] Remove deprecated volumeSchedulingLatency metric
As part of https://github.com/kubernetes/kubernetes/pull/100720 we
backported fix on existing releases and in this commit we completely
remove the deprecated metric from master branch.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-23 15:18:16 +03:00
dntosas
7cbac6bde0 [volumeScheduling/metrics] Fix buckets initialization
This metrics is measured in seconds so it makes no sense starting from
1000 as init value. This breaks also the scheduler e2e metric thus make
users unable to compute, for example, their SLO for the scheduler.
Even if this metric is deprecated, it should behave correctly until it is
completely removed to avoid user confusion.

For example, for each volume created, the minimum value exposed
as a metric is 16.6min (1000sec/60) which is obviously wrong as logic.

In this commit, we migrate bucket creation to start from reasonable
numbers, copying the incrementation from the conventions that the
scheduler follows itself.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-17 12:49:40 +03:00
Konstantin Misyutin
29bd66d018 Remove "pkg/controller/volume/scheduling" dependency from "pkg/scheduler/framework/plugins"
All dependencies of VolumeBinding plugin from
"k8s.io/kubernetes/pkg/controller/volume/scheduling" package moved to
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" package:

- whole file pkg/controller/volume/scheduling/scheduler_assume_cache.go
- whole file pkg/controller/volume/scheduling/scheduler_assume_cache_test.go
- whole file pkg/controller/volume/scheduling/scheduler_binder.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_fake.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_test.go

Package "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" moved
to "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding/metrics"
because it only used in VolumeBinding plugin and (e2e) tests.

More described in issue #89930 and PR #102953.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-08-13 19:08:45 +08:00
Kubernetes Prow Robot
27b02a3e37
Merge pull request #104030 from chendave/refactoring_new
Refactor defaultpreemption for out-of-tree plugins
2021-08-11 18:38:00 -07:00
Dave Chen
3af26bae2c Refactor defaultpreemption for out-of-tree plugins
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-08-11 09:29:17 +08:00
houjun
8dc091ef2e Fix wrong log 2021-07-26 11:38:02 +08:00
Kubernetes Prow Robot
ea3bcbc205
Merge pull request #101946 from chendave/balance_allocation
Support extended resource in NodeResourcesBalancedAllocation plugin
2021-07-06 10:42:19 -07:00
Yecheng Fu
83ee392ed4 implement EnqueueExtensions interface in volumebinding 2021-07-03 08:25:06 +08:00
Kubernetes Prow Robot
25bbe2ebc5
Merge pull request #99594 from cofyc/kep1845-api
Prioritizing nodes based on volume capacity: API changes
2021-07-01 15:35:51 -07:00
Yecheng Fu
b522e95aae Prioritizing nodes based on volume capacity: API changes 2021-07-01 10:00:59 +08:00
Kubernetes Prow Robot
385402d506
Merge pull request #103082 from chrishenzie/read-write-once-pod-access-mode-scheduler
Enforce ReadWriteOncePod during scheduling
2021-06-30 16:11:36 -07:00
Chris Henzie
7ad44d04fc Enforce ReadWriteOncePod access mode during scheduling
Check the PVC ref count on the node info cache to determine if a pod's
PVCs are in use. If they are and it is using ReadWriteOncePod, fail the
request.
2021-06-30 10:40:14 -07:00
Dave Chen
1fa673c15c Extent the NodeResourcesBalancedAllocation plugin to cover more resources
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-30 11:15:12 +08:00
Kubernetes Prow Robot
e0f66be1aa
Merge pull request #101822 from yuzhiquan/NodeResourcesFit-score
Add score func for NodeResourcesFit plugin
2021-06-29 13:42:20 -07:00
yuzhiquan
deb14b995a Add score plugin for NodeResourcesFit 2021-06-29 13:16:55 -04:00
Wei Huang
20f84b12a1
Optimize scheduler res scorer on non-requested extended res 2021-06-25 11:41:36 -07:00
Kubernetes Prow Robot
72fc6d9ea0
Merge pull request #103089 from chendave/ratio_cleanup
Simplify the formula used in the `RequestedToCapacityRatio` plugin
2021-06-22 12:00:23 -07:00
ravisantoshgudimetla
b6c75bee15 Remove balanced attached node volumes
kubernetes#60525 introduced
Balanced attached node volumes feature gate to include volume
count for prioritizing nodes. The reason for introducing this
flag was its usefulness in Red Hat OpenShift Online environment
which is not being used any more. So, removing the flag
as it helps in maintainability of the scheduler code base
as mentioned at kubernetes#101489 (comment)
2021-06-22 11:19:30 -04:00
Dave Chen
0f922b200f Simplify the formula used in the RequestedToCapacityRatio plugin
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-22 17:11:26 +08:00
Aldo Culquicondor
63d1237102 Fix Node Resources plugins score when there are pods with no requests
Given that we give a default CPU/memory requests for containers that don't provide any, the calculated usage can exceed the allocatable.

Change-Id: I72e249652acacfbe8cea0dd6f895dabe43ff6376
2021-06-16 20:36:07 +00:00
Wei Huang
36eaa11d50
cleanup usage of NewPodNominator
- replace NewPodNominator() with NewSafePodNominator()
- rename nominatedPodMap to nominator
2021-06-10 14:01:07 -07: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
Kubernetes Prow Robot
6cb421487a
Merge pull request #99597 from adtac/v1b2
scheduler CC: add v1beta2 API, deprecate plugins
2021-06-08 12:26:08 -07:00
Adhityaa Chandrasekar
3c8e56bef9 scheduler: graduate CC to v1beta2, deprecate plugins
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-06-07 12:42:55 +00:00
Kubernetes Prow Robot
2e6e8857d1
Merge pull request #102518 from chendave/cleanup_constat
Cleanup redundant failure reason in InterPodAffinity plugin
2021-06-02 09:46:34 -07:00
Dave Chen
b049e1b9ab Cleanup redundant failure reason in InterPodAffinity plugin
Both `ErrReasonAffinityRulesNotMatch` and `ErrReasonAntiAffinityRulesNotMatch` are
more precise than `ErrReasonAffinityNotMatch`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-02 11:52:55 +08:00
Abdullah Gharaibeh
4567a43101 Return UnschedulableAndUnresolvable when looking up volume-related resources returns NotFound error 2021-06-01 09:19:04 -04:00
Kubernetes Prow Robot
ae1f28d7b0
Merge pull request #102306 from ahg-g/ahg-vol-restrictions
Return UnschedulableAndUnresolvable instead of Error when failing to lookup volume-related resources
2021-05-27 20:48:25 -07:00
Kubernetes Prow Robot
2da8d1c18f
Merge pull request #102234 from sanposhiho/scheduler/add/interface-check-on-nodeaffinity
scheduler/add: interface check on nodeaffinity
2021-05-26 03:17:32 -07:00
Kubernetes Prow Robot
aa0017ad13
Merge pull request #102236 from ahg-g/ahg-spread
Use ownerReference to build default spreading constraints
2021-05-25 19:39:28 -07:00
Abdullah Gharaibeh
17551f291d Return UnschedulableAndUnresolvable instead of Error when failing to lookup pvc or storageclass in VolumeZone plugin 2021-05-25 18:58:11 -04:00
Abdullah Gharaibeh
6c0976814c use ownerReference to build default spreading contraints in the scheduler 2021-05-25 16:04:48 -04:00