dom4ha
903b1f7e28
more fine-grained Node QHint for NodeResourceFit plugin
2024-09-26 09:51:36 +00:00
googs1025
69831b0043
chore(scheduler): refactor import package ordering
2024-09-18 20:31:03 +08:00
Kensei Nakada
4a81a85449
chore(noderesourcefit): correct tests and clean up comments
2024-09-17 13:28:27 +09:00
Kensei Nakada
fe3ab649d0
feat: remove node general update event from EventsToRegister when QHint is enabled
2024-09-14 16:15:40 +09:00
dom4ha
e7827879db
Enable testing logger in the remaining scheduler tests.
2024-09-09 21:59:24 +00:00
Kensei Nakada
8519d3399f
chore: move the scheduler internal components out of internal dir
2024-08-25 13:10:29 +09:00
Kensei Nakada
3f59d9fc4c
fix typo
2024-07-23 17:43:21 +09:00
Kensei Nakada
fa8092f838
support UpdatePodScaleDown instead of UpdatePodRequest
2024-07-20 19:20:38 +09:00
Kensei Nakada
0cd1ee4259
add(scheduler/framework): implement smaller Pod update events
2024-07-20 17:44:23 +09:00
googs1025
a3978e8315
scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister()
2024-07-18 12:22:17 +08:00
AxeZhan
d66f8f9413
schedulingQueue update pod by queueHint
2024-06-12 21:26:09 +08:00
Tim Hockin
467d5d745c
Get rid of unused API type NodeResources
2024-03-01 15:13:50 -08:00
Kubernetes Prow Robot
e04316a68a
Merge pull request #121954 from AxeZhan/nodeInfo
...
Sched framework: expose NodeInfo in all functions of PluginsRunner interface
2023-12-15 18:33:00 +01:00
Kubernetes Prow Robot
195bb67d36
Merge pull request #119177 from carlory/fix-118893-3
...
noderesourcefit: scheduler queueing hints
2023-12-15 17:17:19 +01:00
AxeZhan
be48c93689
Sched framework: expose NodeInfo in all functions of PluginsRunner interface
2023-12-15 11:30:06 +08:00
carlory
9e1adced5d
noderesourcefit: scheduler queueing hints
...
Co-authored-by: Kensei Nakada <handbomusic@gmail.com>
2023-12-13 10:02:52 +08:00
kunwuluan
a00a610d15
move SidecarContainers featureGate checking
...
to PreFilter
Signed-off-by: KunWuLuan <kunwuluan@gmail.com>
2023-11-06 10:46:52 +08:00
Mengjiao Liu
a7466f44e0
Change the scheduler plugins PluginFactory function to use context parameter to pass logger
...
- Migrated pkg/scheduler/framework/plugins/nodevolumelimits to use contextual logging
- Fix golangci-lint validation failed
- Check for plugins creation err
2023-09-20 17:49:54 +08:00
Gunju Kim
7286d122fb
Mark pods with restartable init containers as UnschedulableAndUnresolvable
...
This marks the pods with restartable init containers as
`UnschedulableAndUnresolvable` if the feature gate is disabled to avoid
the inconsistency in resource calculation between the scheduler and the
older kubelet.
2023-07-08 07:26:13 +09:00
Kensei Nakada
6f8d38406a
feature(scheduler): implement ClusterEventWithHint to filter out useless events
2023-06-22 13:36:19 +00:00
Mengjiao Liu
1c05cf1d51
kube-scheduler: NewFramework function to pass the context parameter
...
Co-authored-by: Aldo Culquicondor <1299064+alculquicondor@users.noreply.github.com>
2023-05-23 10:17:34 +08:00
dingzhu lurong
ed26fcf5b8
cleanup useless null pointer check about nodeInfo.Node() from snapshot for in-tree plugins
2023-05-20 22:53:43 +08:00
Kubernetes Prow Robot
a38efaccc0
Merge pull request #116748 from mengjiao-liu/contextual-logging-scheduler-plugin-noderesource
...
Migrated `pkg/scheduler/framework/plugins/noderesources` to contextual logging
2023-04-27 12:28:15 -07:00
Mengjiao Liu
54e6f609ce
Migrated pkg/scheduler/framework/plugins/noderesources to contextual logging
2023-04-27 14:46:13 +08:00
Kubernetes Prow Robot
94a15929cf
Merge pull request #116408 from ChenLingPeng/fit
...
skip pod resource check when request is zero
2023-04-17 11:44:45 -07:00
sarab
8d18ae6fc2
Use the generic Set in scheduler
2023-04-09 11:34:17 +05:30
Kubernetes Prow Robot
0701e4b3b0
Merge pull request #116508 from tangwz/fix_PreFilter_and_PreScore_test_name
...
Avoid using negative words in PreFilter and PreScore tests.
2023-03-13 21:17:20 -07:00
tangwz
3766e060e5
Avoid using negative words in PreFilter and PreScore tests.
2023-03-12 15:06:26 +08:00
mantuliu
4204251acf
Remove unnecessary int64 type conversion
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-03-12 09:50:09 +08:00
tangwz
be080584c6
scheduler(NodeResourcesFit & NodeResourcesBalancedAllocation): calculatePodResourceRequest in PreScore phase ( #115655 )
...
* scheduler(NodeResourcesFit): calculatePodResourceRequest in PreScore phase
* scheduler(NodeResourcesFit and NodeResourcesBalancedAllocation): calculatePodResourceRequest in PreScore phase
* modify the comments and tests.
* revert the tests.
* don't need consider nodes.
* use list instead of map.
* add comment for podRequests.
* avoid using negative wording in variable names.
2023-03-10 07:44:53 -08:00
Todd Neal
4096c9209c
dedupe pod resource request calculation
2023-03-09 17:15:53 -06:00
forrestchen
bbf2b968c8
skip pod resource check when request is zero
...
Signed-off-by: forrestchen <forrestchen@tencent.com>
2023-03-09 17:05:11 +08:00
Kubernetes Prow Robot
9d7db70882
Merge pull request #116066 from yoongon/feature/fit-test-comments
...
Fix comments at fit_test.go to increase redability
2023-03-06 20:52:16 -08:00
Yoon Park
8d2c81e7ec
Fix comments at fit_test.go to increase redability
2023-03-04 13:03:15 +09:00
vinay kulkarni
231849a908
In-place Pod Vertical Scaling - Scheduler changes
2023-02-24 18:14:21 +00:00
Yoon Park
c6276cc2ab
Fix typo at most_allocated_test.go
2023-02-21 10:32:40 +09: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
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
Aldo Culquicondor
b62541fe84
Avoid serialization of maps when log level < 10
...
Change-Id: If264c26ae599602d5b4919301f011c2095d706ee
2022-11-30 12:53:52 -05: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
Abirdcfly
bf8570029e
chore(scheduler): cleanup some minor issues in testing
2022-11-03 09:07:28 +08: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
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
kerthcet
97e3e50493
Remove potential goroutine leak in NewFramework
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-06 00:05:22 +08: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
jlsong01
27824fb06a
fix pod created failed when resource request is 0
2022-08-02 23:41:53 +08: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
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
ldsdsy
2f1168d9a5
Format the code in pkg/scheduler/framework/plugins/noderesources/balanced_allocation.go
2022-07-18 11:03:33 +08:00
Abirdcfly
00b9ead02c
cleanup: remove duplicate import
...
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-14 11:25:19 +08:00
xiaomudk
5826cae547
clean: remove useless parentheses
2022-06-10 00:09:50 +08:00
Wojciech Tyczyński
7060953b92
Clear shutdown of scheduler metrics recorder
2022-05-20 20:23:29 +02: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
Abdullah Gharaibeh
6d499ee9ea
Correct event registration for multiple scheduler plugins.
2022-04-12 18:32:24 -04: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
Paco Xu
acd696266e
mark PodOverhead to GA in v1.24; remove in v1.26
2022-03-17 09:30:14 +08:00
Abdullah Gharaibeh
5b20b68bc9
Updated the scheduler framework's PreFilter interface to return a PreFilterResult
2022-03-14 15:36:52 -04: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
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
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
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
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
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
Ahmad Diaa
a2c37bfd09
use original requests in NodeResourcesBalancedAllocation instead of NonZero ( #105845 )
2021-10-29 19:04: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
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
Mike Dame
5a77ebe28b
Scheduler: remove pkg/features dependency from NodeResources plugins
2021-05-18 08:59:02 -04:00
yuzhiquan
2b6af46624
fix potential panic for node resource plugin
2021-05-08 18:03:24 +08:00
Kubernetes Prow Robot
b4ea4322a6
Merge pull request #101467 from ingvagabund/noderesources-replace-IsScalerResourceName-with-nodeinfo-allocatable-scalar-resource-presence
...
noderesource: node info already knows which resources are scalar
2021-04-28 18:12:50 -07:00
Jan Chaloupka
7286f9712a
pkg/scheduler: drop Resource.ResourceList() method
...
The method is used only for testing purposes. Given Resource data type
exposes all its fields, any invoker of ResourceList that is still
using the method outside of kubernetes/kubernetes can still either
copy paste the original implementation or implement a custom method
that's converting resources into proper Quantity data type.
Given the hugepage resource is a scalar resource, it's sufficient
the underlying code under fit_test.go to take into account any
extended resources. For predicate_test.go, the hugepage
resource does not play any role as the General predicates test cases
does not set any scaler resource at all.
Additionally, by removing ResourceList method, pkg/scheduler/framework
can get rid of dependency on k8s.io/kubernetes/pkg/apis/core/v1/helper.
2021-04-28 16:26:33 +02:00
Jan Chaloupka
11d6576f83
noderesource: node info already knows which resources are scalar
...
NodeInfo.Allocatable.ScalarResources already knows which resources
are scaler. Also, if the resource name is not present,
it's pointless to compute score for a resources the node can not allocate
since nodeInfo.Allocatable.ScalarResources[resource] is zero for the case.
And both leastRequestedScore and mostRequestedScore returns 0 score
for nodes with zero allocatable resource.
The balancedResourceScorer deals only with CPU and memory which
are not scalable resources.
2021-04-25 23:32:03 +02: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
Kubernetes Prow Robot
ad84094a8f
Merge pull request #100477 from chendave/validation_noderesource
...
Move NodeResourcesFit plugin args validation to apis/config/validation
2021-04-08 22:09:56 -07:00
Dave Chen
a0d93cc0c8
Move NodeResourcesFit plugin args validation to apis/config/validation
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-23 16:09:53 +08:00
Jiahao Huang
4621722888
Change go file mode from 755 to 644
...
to check all file:
find . -perm 755 | grep "\.go$"
2021-03-23 10:50:17 +08:00
Wei Huang
e86a72add7
implement EnqueueExtensions interface in noderesources
2021-03-08 15:24:05 -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
Kubernetes Prow Robot
699b38669f
Merge pull request #99731 from AliceZhang2016/newFramework-accept-KubeSchedulerProfile
...
Make runtime.NewFramework accept KubeSchedulerProfile
2021-03-06 12:49:48 -08:00
Mengxue Zhang
b38caa91cc
make runtime.NewFramework accept KubeSchedulerProfile
2021-03-05 18:30:21 +00:00
Yecheng Fu
21a43586e7
Prioritizing nodes based on volume capacity
2021-03-05 23:59:25 +08:00
Benjamin Elder
56e092e382
hack/update-bazel.sh
2021-02-28 15:17:29 -08:00
caodonghui
f435e24403
Remove deadcode
2021-02-23 17:58:47 +08:00
drfish
0c3d8b9720
Organize framework unit tests in subtests
2021-01-31 13:34:52 +08:00
Jie Shen
f82e3c430c
Wrap all errors in pkg/scheduler
2021-01-28 09:13:40 +08:00