AxeZhan
af26ebd0fa
translate beta label to ga in volume_zone
2023-08-18 00:31:09 +08:00
SataQiu
ef7d404702
using wait.PollUntilContextTimeout instead of deprecated wait.Poll for pkg/scheduler
...
using wait.PollUntilContextTimeout instead of deprecated wait.Poll for test/integration/scheduler
using wait.PollUntilContextTimeout instead of deprecated wait.Poll for test/e2e/scheduling
using wait.ConditionWithContextFunc for PodScheduled/PodIsGettingEvicted/PodScheduledIn/PodUnschedulable/PodSchedulingError
2023-08-17 17:25:09 +08:00
kwakubiney
5752cbd8c7
chore: add pod UID in event log
...
This change includes preemptor pod UID in event log to allow
for easier debugging.
Signed-off-by: kwakubiney <kebiney@hotmail.com>
2023-08-16 11:00:56 +00:00
Kubernetes Prow Robot
130a5a423f
Merge pull request #119785 from sanposhiho/waitonpermit-fiterror
...
fix: register the plugin rejects Pods in WaitOnPermit to UnschedulablePlugins
2023-08-15 23:13:04 -07:00
Kubernetes Prow Robot
719d1a84f7
Merge pull request #119778 from sanposhiho/bugfix-unschedulableandunresolvable
...
fix: when PreFilter returns UnschedulableAndUnresolvable, copy the state in all nodes in statusmap
2023-08-15 23:12:57 -07:00
Kubernetes Prow Robot
57212647e9
Merge pull request #119769 from Huang-Wei/bug/prefilter-preemption
...
Fix a bug that PostFilter plugin may don't function if previous PreFilter plugins return Skip
2023-08-15 23:12:50 -07:00
Kubernetes Prow Robot
ea30d100f6
Merge pull request #119399 from wackxu/optimizecodeforNodeUnschedulable
...
Optimize the code of NodeUnschedulable to reduce TolerationsTolerateT…
2023-08-15 17:14:26 -07:00
AxeZhan
47fec59a31
parse node selector in prefilter
2023-08-14 16:39:46 +08:00
Kensei Nakada
cf3f0bd778
fix: register the plugin rejects Pods in WaitOnPermit to UnschedulablePlugins
2023-08-12 07:18:01 +00:00
Kensei Nakada
b008223705
fix: when PreFilter returns UnschedulableAndUnresolvable, copy the state in all nodes in statusmap
2023-08-12 06:58:49 +00:00
Wei Huang
765f3916c2
Fix a bug that PostFilter plugin may not function if previous PreFilter plugins return Skip
2023-08-10 13:43:00 -07:00
AxeZhan
2863b3d1ab
Revert "refactor: simplify RunScorePlugins for readability + performance"
...
This reverts commit a7eb7ed5c6
.
2023-07-20 10:50:32 +08:00
wackxu
a9d26ac7c7
Optimize the code of NodeUnschedulable to reduce TolerationsTolerateTaint function calls
...
Signed-off-by: wackxu <xushiwei5@huawei.com>
2023-07-18 21:00:05 +08:00
Adrian Cole
89ab733760
Improve docs on framework.CycleState
...
Signed-off-by: Adrian Cole <adrian@tetrate.io>
Co-authored-by: Kante Yin <kerthcet@gmail.com>
2023-07-18 14:48:20 +08:00
carlory
0599b3caa0
change the QueueingHintFn to pass a logger
2023-07-13 00:56:41 +08:00
Patrick Ohly
6f1a29520f
scheduler/dra: reduce pod scheduling latency
...
This is a combination of two related enhancements:
- By implementing a PreEnqueue check, the initial pod scheduling
attempt for a pod with a claim template gets avoided when the claim
does not exist yet.
- By implementing cluster event checks, only those pods get
scheduled for which something changed, and they get scheduled
immediately without delay.
2023-07-12 11:17:04 +02:00
Patrick Ohly
ef48efc736
scheduler dynamicresources: minor logging improvements
...
This makes some complex values a bit more readable.
2023-07-12 11:07:59 +02:00
Kubernetes Prow Robot
e0dafe57a3
Merge pull request #117351 from pohly/dra-generated-resource-claim-names
...
DRA: generated resource claim names
2023-07-11 10:33:11 -07:00
Patrick Ohly
444d23bd2f
dra: generated name for ResourceClaim from template
...
Generating the name avoids all potential name collisions. It's not clear how
much of a problem that was because users can avoid them and the deterministic
names for generic ephemeral volumes have not led to reports from users. But
using generated names is not too hard either.
What makes it relatively easy is that the new pod.status.resourceClaimStatus
map stores the generated name for kubelet and node authorizer, i.e. the
information in the pod is sufficient to determine the name of the
ResourceClaim.
The resource claim controller becomes a bit more complex and now needs
permission to modify the pod status. The new failure scenario of "ResourceClaim
created, updating pod status fails" is handled with the help of a new special
"resource.kubernetes.io/pod-claim-name" annotation that together with the owner
reference identifies exactly for what a ResourceClaim was generated, so
updating the pod status can be retried for existing ResourceClaims.
The transition from deterministic names is handled with a special case for that
recovery code path: a ResourceClaim with no annotation and a name that follows
the Kubernetes <= 1.27 naming pattern is assumed to be generated for that pod
claim and gets added to the pod status.
There's no immediate need for it, but just in case that it may become relevant,
the name of the generated ResourceClaim may also be left unset to record that
no claim was needed. Components processing such a pod can skip whatever they
normally would do for the claim. To ensure that they do and also cover other
cases properly ("no known field is set", "must check ownership"),
resourceclaim.Name gets extended.
2023-07-11 14:23:48 +02:00
Kubernetes Prow Robot
c95b16b280
Merge pull request #118608 from utam0k/podtopologyspread-prescore-skip
...
Return Skip in PodTopologySpread#PreScore under specific conditions
2023-07-10 09:27:07 -07:00
Kubernetes Prow Robot
0ae9aaacfa
Merge pull request #118271 from tangwz/add_nodeports_prefilter_skip_status
...
feat(NodePorts): return Skip status in PreFilter
2023-07-09 20:49:04 -07: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
kerthcet
c0eb0caf4a
Support fine-gained rescheduling in ReservePlugin
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-07 13:30:29 +08:00
Kubernetes Prow Robot
b07a843cb5
Merge pull request #119046 from kerthcet/fix/handle-unschedule-plugins
...
Fix fitError in Permit plugin not handled perfectly
2023-07-06 21:01:03 -07:00
kerthcet
278a8376e1
Fix: fiterror in permit plugin not handled perfectly
...
We only added failed plulgins, but actually this will not work unless
we make the status with a fitError because we only copy the failured plugins
to podInfo if it is a fitError
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-07 10:35:59 +08:00
Kubernetes Prow Robot
aeed7da616
Merge pull request #119077 from sanposhiho/follow-up-hint
...
clean up the implementation around QueueingHintFn
2023-07-06 13:39:15 -07:00
Kensei Nakada
be0db3f93d
clean up the implementation around QueueingHintFn
2023-07-06 16:07:39 +00:00
tangwz
1bf2f6c9c0
feat(NodePorts): return Skip status in PreFilter
2023-07-06 08:42:08 +08:00
Kubernetes Prow Robot
293c1b8378
Merge pull request #118025 from AxeZhan/score-metrics
...
feature(scheduler): plugin_evaluation_total metric support preScore/score
2023-07-05 05:14:56 -07:00
Shingo Omura
d53762ec3a
remove unnecessary comment in pkg/scheduler/framework.QueueingHintFn
...
event is not passed to QueueingHintFn but it exists a comment about it.
event is unnecessary in QueueingHintFn because QueueingHintFn is used in
ClusterEventWithHint and ClusterEventWithHint already have ClusterEvent.
Signed-off-by: Shingo Omura <everpeace@gmail.com>
2023-06-29 21:22:20 +09:00
utam0k
ef26510164
Return Skip in PodTopologySpread#PreScore under specific conditions
...
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-06-28 12:08:10 +00:00
Kubernetes Prow Robot
52457842d1
Merge pull request #117055 from cyclinder/csi_migration
...
remove CSI-migration gate
2023-06-28 04:28:31 -07:00
Kubernetes Prow Robot
d9714078f8
Merge pull request #118551 from sanposhiho/event-to-register
...
feature(scheduler): implement ClusterEventWithHint to filter out useless events
2023-06-26 06:41:45 -07:00
Kensei Nakada
6f8d38406a
feature(scheduler): implement ClusterEventWithHint to filter out useless events
2023-06-22 13:36:19 +00:00
Heba Elayoty
902c711fb4
Unset gated pod info timestamp in addToActiveQ
...
Signed-off-by: Heba Elayoty <hebaelayoty@gmail.com>
2023-06-21 14:16:08 -07:00
Kubernetes Prow Robot
bc8e312857
Merge pull request #117903 from sourcelliu/dynamic
...
feature(DynamicResources): return Skip in PreFilter
2023-06-20 17:48:20 -07:00
Kubernetes Prow Robot
9740bc0e0a
Merge pull request #118606 from sanposhiho/refactor-score
...
refactor: simplify RunScorePlugins for readability + performance
2023-06-13 21:41:57 -07:00
Kensei Nakada
a7eb7ed5c6
refactor: simplify RunScorePlugins for readability + performance
2023-06-11 03:29:05 +00:00
Kubernetes Prow Robot
4483bf66fe
Merge pull request #116635 from mengjiao-liu/contextual-logging-plugin-interpodaffinity
...
Migrated `pkg/scheduler/framework/plugins/interpodaffinity` to contextual logging
2023-06-09 08:14:13 -07:00
guoguangwu
1d9eed9f95
chore: slice replace loop
2023-06-05 22:40:53 +08:00
SataQiu
410b6023d6
scheduler: fix code style issues for pkg/scheduler
2023-06-05 17:29:49 +08:00
cyclinder
8e4228a8c1
remove CSI-migration gate
2023-06-04 18:40:17 +08:00
Mengjiao Liu
6d23da045f
Migrated pkg/scheduler/framework/plugins/interpodaffinity to use contextual logging
2023-06-01 18:24:54 +08:00
Mengjiao Liu
074900e81b
scheduler: update the scheduler interface and cache methods to use contextual logging
2023-05-29 13:26:32 +08:00
Kubernetes Prow Robot
f7cfb5f02f
Merge pull request #118257 from pohly/dra-scheduler-plugin-loopvar-fix
...
dra scheduler plugin test: fix loopvar bug and "reserve" expected data
2023-05-26 06:06:53 -07:00
Patrick Ohly
7a6b4a9215
dra scheduler plugin test: fix loopvar bug and "reserve" expected data
...
The `listAll` function returned a slice where all pointers referred to the same
instance. That instance had the value of the last list entry. As a result, unit
tests only compared that element.
During the reserve phase, the first claim gets reserved in two test
cases. Those two tests must expect that change. That hadn't been noticed before
because that first claim didn't get compared.
2023-05-25 15:10:05 +02: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
Kubernetes Prow Robot
c7c41d27b4
Merge pull request #117834 from NoicFank/cleanup-scheduler-node-must-not-nil-in-snapshot
...
cleanup useless null pointer check about nodeInfo.Node() from snapshot for in-tree plugins
2023-05-20 15:16:18 -07: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
da1b9df26c
Merge pull request #118032 from kerthcet/cleanup/interpodaffinity2
...
Chore: cleanup in interPodAffinity
2023-05-17 14:00:33 -07:00
Kubernetes Prow Robot
53772982be
Merge pull request #116829 from mengjiao-liu/contextual-logging-scheduler-plugin-volumezone
...
Migrated the volumezone scheduler plugin to use contextual logging
2023-05-16 09:53:35 -07:00
AxeZhan
8c6c1e5319
plugin_evaluation_total metric support preScore/score
2023-05-16 16:52:29 +08:00
kerthcet
3ac7497361
Chore: cleanup in interpodaffinity
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-05-16 14:46:15 +08:00
mantuliu
6e2ea32fc8
feature(DynamicResources): return Skip in PreFilter
2023-05-15 00:06:08 +08:00
Kubernetes Prow Robot
58e13496d6
Merge pull request #116842 from mengjiao-liu/contextual-logging-scheduler-runtime
...
Migrated `pkg/scheduler/framework/runtime` to use contextual logging
2023-05-11 10:59:02 -07:00
Mengjiao Liu
fe728996ca
scheduler test: call frameworkruntime.WithLogger function for contextual logging
2023-05-11 15:46:08 +08:00
Mengjiao Liu
b456392567
Migrated pkg/scheduler/framework/runtime
to use contextual logging
2023-05-11 15:46:02 +08:00
utam0k
c0611b6bb3
Return Skip in InterPodAffinity#PreScore under specific conditions
...
This commit updates the InterPodAffinity PreScore to return a Skip status when the following conditions are met:
1. There are no nodes to score.
2. The incoming pod has no inter-pod affinities && the `IgnorePreferredTermsOfExistingPods` option is enabled.
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-05-10 13:02:23 +00:00
mantuliu
e6900f5ead
Optimize the performance of the Clone method of preFilterState
2023-05-05 19:53:12 +08:00
mantuliu
887654160f
Improve the performance of schedulinggates
2023-05-04 18:09:49 +08:00
Kubernetes Prow Robot
47f1bd9f80
Merge pull request #117649 from SataQiu/scheduler-remove-v1beta2-20230427
...
scheduler: remove deprecated v1beta2 KubeSchedulerConfiguration component config
2023-05-03 09:54:41 -07:00
Kubernetes Prow Robot
0d67dd689b
Merge pull request #117683 from utam0k/skip-topologyspread-empty
...
Add check to skip PodTopologySpread PreFilter if no constraints are specified
2023-05-03 06:48:24 -07:00
SataQiu
1f7c07f355
scheduler: remove deprecated v1beta2 KubeSchedulerConfiguration
2023-05-03 21:43:19 +08:00
utam0k
d82684e691
Add check to skip PodTopologySpread PreFilter if no constraints are specified
...
This commit adds a check in the PodTopologySpread PreFilter function to
return a Skip status if there are no topology spread constraints specified
This prevents unnecessary processing and filtering for pods that don't have any topology spread
constraints.
This change is a part of the work for issue #114399 .
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-05-03 04:39:00 +00:00
Kubernetes Prow Robot
8353d4623b
Merge pull request #117427 from cbandy/pkg-testing-setenv
...
Replace os.Setenv with testing.T.Setenv in tests
2023-04-29 08:28:16 -07:00
Kubernetes Prow Robot
b44482a37c
Merge pull request #116797 from mengjiao-liu/contextual-looging-scheduler-plugin-podtopologyspread
...
Migrated `pkg/scheduler/framework/plugins/podtopologyspread` to contextual logging
2023-04-27 12:28:27 -07: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
Kubernetes Prow Robot
5170c25609
Merge pull request #116835 from mengjiao-liu/contextual-logging-scheduler-plugin-preemption
...
Migrated `pkg/scheduler/framework/preemption & defaultpreemption` to use contextual logging
2023-04-27 11:10:16 -07:00
Kubernetes Prow Robot
87f3acf7f6
Merge pull request #115398 from tangwz/add_NodeVolumeLimits_PreFilter
...
feat(NodeVolumeLimits): return Skip in PreFilter
2023-04-27 01:44:14 -07:00
Mengjiao Liu
7f370d651d
Migrated pkg/scheduler/framework/plugins/podtopologyspread
to contextual logging
2023-04-27 15:55:09 +08:00
Mengjiao Liu
54e6f609ce
Migrated pkg/scheduler/framework/plugins/noderesources
to contextual logging
2023-04-27 14:46:13 +08:00
Mengjiao Liu
37a9260d5c
Migrate pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go to use contextual logging
2023-04-27 11:28:19 +08:00
Mengjiao Liu
eeb1399383
Migrated pkg/scheduler/framework/preemption
to use contextual logging
2023-04-27 11:28:14 +08:00
tangwz
8ed861889a
feat(NodeVolumeLimits): return Skip in PreFilter
2023-04-26 20:17:04 +08:00
Antoni Zawodny
28519e240e
Fix scheduler performance regression after adding plugin metrics
2023-04-26 14:11:48 +02:00
Maciej Borsz
5c584269a7
avoid volume copy in checkAttachableInlineVolume
2023-04-19 20:10:22 +00:00
Chris Bandy
d38ac7e7c6
Replace os.Setenv with testing.T.Setenv in tests
...
T.Setenv ensures that the environment is returned to its prior state
when the test ends. It also panics when called from a parallel test to
prevent racy test interdependencies.
2023-04-17 20:39:46 -05: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
Kubernetes Prow Robot
af99aa1a50
Merge pull request #117214 from HirazawaUi/add-preemptor-log
...
add log includes pod preemption details
2023-04-13 12:40:38 -07:00
HirazawaUi
ed0124855a
add log includes pod preemption details
2023-04-13 22:29:18 +08:00
Kubernetes Prow Robot
242702cb86
Merge pull request #116940 from sarab97/sarab/feat/sets
...
Use the generic Set in scheduler
2023-04-11 19:17:14 -07:00
Kubernetes Prow Robot
365ac69fc4
Merge pull request #116845 from major1201/fix_binder_typo
...
fix GetPodVolumeClaims in comments
2023-04-11 18:20:05 -07:00
Kubernetes Prow Robot
e77ca49022
Merge pull request #114898 from AxeZhan/volumerestrictions
...
feature(volume_restrictions): return Skip in PreFilter
2023-04-11 15:35:04 -07:00
sarab
8d18ae6fc2
Use the generic Set in scheduler
2023-04-09 11:34:17 +05:30
kidddddddddddddddddddddd
8d644fbc72
return skip in volumerestrictions
2023-03-23 23:14:24 +08:00
major1201
daa1d287e4
fix GetPodVolumeClaims in comments
2023-03-22 17:23:05 +08:00
Mengjiao Liu
27f84b755e
Migrated the volumezone scheduler plugin to use contextual logging
2023-03-22 11:09:31 +08:00
Kubernetes Prow Robot
0e8eae6e35
Merge pull request #116607 from alculquicondor/optimize-spreading
...
Optimize topology spreading for null selector
2023-03-14 15:14:57 -07:00
Kubernetes Prow Robot
fbfc887a09
Merge pull request #116556 from pohly/dra-podschedulingcontext
...
dra: PodScheduling -> PodSchedulingContext
2023-03-14 15:14:34 -07:00
Kubernetes Prow Robot
f2e1a67c05
Merge pull request #116535 from denkensk/fix-match
...
feat: forbid to set matchLabelKeys when labelSelector isn’t set in topologySpreadConstraints
2023-03-14 14:13:04 -07:00
Aldo Culquicondor
3dae9ba6d6
Optimize topology spreading for null selector
...
Change-Id: I28f031a040b143fa9452b4400cc3ae85d58e572c
2023-03-14 15:01:59 -04:00
Kubernetes Prow Robot
25edb4943a
Merge pull request #116465 from sourcelliu/nodeaffinity
...
Fix PreFilter logic problem in node affinity
2023-03-14 10:40:52 -07:00
Kubernetes Prow Robot
49649c89ea
Merge pull request #113584 from yangjunmyfm192085/volume-contextual-logging
...
volume: use contextual logging
2023-03-14 10:40:16 -07:00
Kubernetes Prow Robot
e660a1702b
Merge pull request #116571 from mengjiao-liu/scheduler-plugins-defaultbinder
...
Migrate pkg/scheduler/framework/plugins/defaultbinder to contextual logging
2023-03-14 09:39:59 -07:00
Patrick Ohly
fec5233668
api: resource.k8s.io PodScheduling -> PodSchedulingContext
...
The name "PodScheduling" was unusual because in contrast to most other names,
it was impossible to put an article in front of it. Now PodSchedulingContext is
used instead.
2023-03-14 10:18:08 +01:00
Mengjiao Liu
c512232782
Migrate pkg/scheduler/framework/plugins/defaultbinder to contextual logging
2023-03-14 17:02:25 +08:00
Patrick Ohly
29941b8d3e
api: resource.k8s.io v1alpha1 -> v1alpha2
...
For Kubernetes 1.27, we intend to make some breaking API changes:
- rename PodScheduling -> PodSchedulingHints (https://github.com/kubernetes/kubernetes/issues/114283 )
- extend ResourceClaimStatus (https://github.com/kubernetes/enhancements/pull/3802 )
We need to switch from v1alpha1 to v1alpha2 for that.
2023-03-14 07:52:03 +01:00
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
Kubernetes Prow Robot
e3cf864279
Merge pull request #116502 from sourcelliu/removecast
...
Remove unnecessary int64 type conversion
2023-03-13 21:17:08 -07:00
Alex Wang
08dfa41f17
fix: key in matchLabelKeys needs to be ignored when LabelSelector is nil
...
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2023-03-14 11:25:04 +08:00
mantuliu
42ddbb4276
Fix PreFilter logic problem in node affinity
2023-03-14 11:23:40 +08:00
杨军10092085
361e4ff0fa
volume: use contextual logging
2023-03-14 08:37:30 +08:00
Kubernetes Prow Robot
3106a5c553
Merge pull request #116301 from andyzhangx/remove-azuredisk-code
...
Remove Azure disk in-tree storage plugin
2023-03-13 10:38:48 -07:00
Kubernetes Prow Robot
3c6e419cc3
Merge pull request #116450 from vinaykul/restart-free-pod-vertical-scaling-api
...
Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources
2023-03-12 16:06:40 -07:00
Kubernetes Prow Robot
a32050e6cb
Merge pull request #116201 from sanposhiho/metric-scheduling-gate
...
add(scheduler): implement "plugin_execution_duration_seconds" metric in PreEnqueue
2023-03-12 13:52:40 -07:00
Kubernetes Prow Robot
e413e6a59c
Merge pull request #116312 from sanposhiho/move-label
...
cleanup(scheduler): move metric labels to metrics package
2023-03-12 10:48:40 -07:00
tangwz
3766e060e5
Avoid using negative words in PreFilter and PreScore tests.
2023-03-12 15:06:26 +08:00
Kensei Nakada
639007b28e
cleanup(scheduler): move metric labels to metrics package
2023-03-12 05:10:29 +00:00
Kensei Nakada
6697467062
add(scheduler): implement "plugin_execution_duration_seconds" metric in PreEnqueue
2023-03-12 04:45:52 +00: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
vinay kulkarni
01b96e7704
Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources
2023-03-10 14:49:26 +00:00
Kubernetes Prow Robot
8b3d529523
Merge pull request #116395 from alculquicondor/fix-podinfo-race
...
One lock among PodNominator and SchedulingQueue
2023-03-09 22:44:17 -08:00
Todd Neal
4096c9209c
dedupe pod resource request calculation
2023-03-09 17:15:53 -06:00
Maciej Borsz
30bca1e1d5
Avoid metric lookup in Parallelizer.Util on every work piece
2023-03-09 17:12:30 +00:00
andyzhangx
5d0a54dcb5
remove Azure Disk in-tree driver code
...
fix
2023-03-09 13:24:08 +00: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
Aldo Culquicondor
07a73bb2e1
One lock among PodNominator and SchedulingQueue
...
Change-Id: I17fe5da40250e42c04124c25b530ce6c8dea4154
2023-03-08 16:18:36 -05:00
Kubernetes Prow Robot
83334ccaa1
Merge pull request #116320 from wangchen615/lastminute-scheduler-fix
...
Address last-minute requested changes for inplace update feature testing in scheduler
2023-03-07 19:31:26 -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
Chen Wang
fd6105d015
fix last minute scheduler changes for inplace update
2023-03-06 18:47:02 -05:00
Kubernetes Prow Robot
283c26f91a
Merge pull request #115082 from sanposhiho/filter-metrics
...
feature(scheduler): implement plugin_evaluation_total metric
2023-03-06 12:58:17 -08:00
Kubernetes Prow Robot
89d1a7971e
Merge pull request #116287 from csDengh/minor_code_improvement
...
scheduler: get an element from the nodes slice out of the loop for the better performance
2023-03-06 09:24:49 -08:00
Kubernetes Prow Robot
d6e9cff212
Merge pull request #115838 from torredil/remove-aws
...
Remove AWS legacy cloud provider + EBS in-tree storage plugin
2023-03-06 08:18:29 -08:00
torredil
6aebda9b1e
Remove AWS legacy cloud provider + EBS in-tree storage plugin
...
Signed-off-by: torredil <torredil@amazon.com>
2023-03-06 14:01:15 +00:00
csDengh
f762145e06
minor code improvement
...
minor code improvement
from repeated assignments in loops to initialize outside the loop
2023-03-06 09:00:40 +08:00
Kensei Nakada
608f4808ff
support PreFilter as well
2023-03-06 00:48:30 +00:00
mantuliu
83fdbd76a1
Improve the performance when Resource Clone
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-03-05 00:35:51 +08:00
Yoon Park
8d2c81e7ec
Fix comments at fit_test.go to increase redability
2023-03-04 13:03:15 +09:00
Kubernetes Prow Robot
b9fd1802ba
Merge pull request #102884 from vinaykul/restart-free-pod-vertical-scaling
...
In-place Pod Vertical Scaling feature
2023-02-27 22:53:15 -08:00
Kubernetes Prow Robot
e6522f8053
Merge pull request #116095 from sourcelliu/preemption
...
Improve the performance of method CandidatesToVictimsMap
2023-02-27 19:25:15 -08:00
mantuliu
ccde866a2f
Improve the performance of method CandidatesToVictimsMap
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-02-27 23:53:19 +08:00
moriya
6b4d08bd5c
fix: typo
2023-02-25 19:06:07 +09:00
vinay kulkarni
231849a908
In-place Pod Vertical Scaling - Scheduler changes
2023-02-24 18:14:21 +00:00
TommyStarK
5531295bf9
scheduler/framework/plugins/volumebinding: fix inaccurate log for when a volume is bound to a claim
...
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-02-24 16:43:38 +01:00
Kubernetes Prow Robot
4dfd2fe74d
Merge pull request #115922 from sourcelliu/impovevolume
...
Improve performance of method haveOverlap
2023-02-21 11:34:08 -08:00
mantuliu
edc0455c5c
Improve performance of method haveOverlap
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-02-22 00:51:55 +08:00
mantuliu
af85f410a2
Improve the performance of slice usage
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-02-21 19:30:27 +08:00
mantuliu
e1e07e34e3
Improve performance of method haveOverlap
...
Signed-off-by: mantuliu <240951888@qq.com>
2023-02-21 16:50:10 +08:00
Yoon Park
c6276cc2ab
Fix typo at most_allocated_test.go
2023-02-21 10:32:40 +09:00
Kubernetes Prow Robot
77af0be42f
Merge pull request #115519 from sanposhiho/move-metric-recorder
...
cleanup(scheduler): move metricRecorder to metrics package
2023-02-16 03:57:38 -08:00
Kensei Nakada
aa7b1766e5
cleanup(scheduler): move metricRecorder to metrics package
2023-02-16 07:27:08 +00:00
Kubernetes Prow Robot
fdc117a6dd
Merge pull request #114887 from binacs/binacs/simplify-pickOneNodeForPreemption
...
cleanup: simplify pickOneNodeForPreemption in preemption
2023-02-14 14:25:51 -08:00
Kubernetes Prow Robot
a0878eb715
Merge pull request #115709 from yoongon/feature/default-binder-testnode
...
Use predefined variable instead of duplicated string
2023-02-13 14:53:49 -08:00
kidddddddddddddddddddddd
f5a69ffda9
feature(scheduler): won't run Score if PreScore returned a Skip status ( #115652 )
...
* allow preScore to return skip status to skip running the corresponding score extension
* add test case for all skipped
* add test case for select host
* update plugin status
* skip score when all plugins are skipped
* update
2023-02-13 14:53:29 -08:00
Yoon
a3405f35b4
Use predefined variable instead of duplicated string
2023-02-12 20:50:39 +09:00
Kensei Nakada
4f7717842c
feature(scheduler): implement plugin_evaluation_total metric
2023-02-04 07:21:03 +00:00
Chris Henzie
dbc7d8ded0
feat: support preemption for pods using ReadWriteOncePod PVCs
...
PVCs using the ReadWriteOncePod access mode can only be referenced by a
single pod. When a pod is scheduled that uses a ReadWriteOncePod PVC,
return "Unschedulable" if the PVC is already in-use in the cluster.
To support preemption, the "VolumeRestrictions" scheduler plugin
computes cycle state during the PreFilter phase. This cycle state
contains the number of references to the ReadWriteOncePod PVCs used by
the pod-to-be-scheduled.
During scheduler simulation (AddPod and RemovePod), we add and remove
reference counts from the cycle state if they use any of these
ReadWriteOncePod PVCs.
In the Filter phase, the scheduler checks if there are any PVC reference
conflicts, and returns "Unschedulable" if there is a conflict.
This is a required feature for the ReadWriteOncePod beta. See for more context:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode#beta
2023-01-30 10:59:22 -08:00
BinacsLee
b3af95cb8a
cleanup: simplify pickOneNodeForPreemption in preemption
2023-01-29 19:55:43 +08:00
Sunny Song
5e2f12e943
Fix nil pointer error in nodevolumelimits csi logging
2023-01-25 09:37:46 -08:00
Patrick Ohly
bc6c7fa912
logging: fix names of keys
...
The stricter checking with the upcoming logcheck v0.4.1 pointed out these names
which don't comply with our recommendations in
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments .
2023-01-23 14:24:29 +01:00
Kubernetes Prow Robot
7b1b8d5734
Merge pull request #114889 from sanposhiho/skip/inter-pod-affinity
...
feature(InterPodAffinity): return Skip in PreFilter
2023-01-18 20:36:35 -08:00
Kensei Nakada
3b20a007ed
feature(InterPodAffinity): return Skip in PreFilter
2023-01-19 01:24:18 +00:00
Kubernetes Prow Robot
98da10e4f2
Merge pull request #115052 from kidddddddddddddddddddddd/fix/volume_zone
...
fix volume_zone, iterate all topologyLabels when check node
2023-01-18 10:54:46 -08:00
Kubernetes Prow Robot
f16e62ae0c
Merge pull request #114897 from kidddddddddddddddddddddd/volumebinding
...
feature(volumebinding): return Skip in PreFilter
2023-01-16 23:38:32 -08:00
kidddddddddddddddddddddd
2ba4c00b3c
hasAnyNodeConstraint
2023-01-14 15:29:54 +08:00
Kubernetes Prow Robot
eabb70833a
Merge pull request #114896 from kidddddddddddddddddddddd/volume_zone
...
feature(volume_zone): return Skip in PreFilter
2023-01-13 23:14:13 -08:00
Kubernetes Prow Robot
3a8e2e399b
Merge pull request #114393 from danielvegamyhre/myfeature
...
Option to ignore existing pods' preferred inter-pod affinities if the incoming pod has no preferred inter-pod affinities
2023-01-13 17:28:15 -08:00
Daniel Vega-Myhre
41817b1888
optionally ignore preferred terms of existing pods unless incoming pod
...
has inter-pod affinities
2023-01-13 23:15:53 +00:00
Michal Wozniak
437179afc3
Do not include scheduler name in the preemption event message
2023-01-11 09:32:21 +01:00
Kubernetes Prow Robot
1d6ae20301
Merge pull request #114798 from kerthcet/cleanup/code-refactor
...
Code refactor for readability in `RunFilterPlugins`
2023-01-09 17:31:12 -08:00
Kubernetes Prow Robot
1e3946ce9d
Merge pull request #114923 from mimowo/do-not-leak-pod-name-in-event
...
Adjust preemption event message to do not include preemptor pod metadata
2023-01-09 13:51:28 -08:00
Kubernetes Prow Robot
eb7fd7f51c
Merge pull request #114914 from mimowo/do-not-leak-pod-name
...
Adjust DisruptionTarget condition message to do not include preemptor pod metadata
2023-01-09 11:15:40 -08:00
Michal Wozniak
f79a34d267
Do not leak cross namespace pod metadata in preemption events
2023-01-09 18:30:19 +01:00
Michal Wozniak
bdf58ce2eb
Adjust DisruptionTarget condition message to do not include preemptor metadata
2023-01-09 12:22:19 +01:00
kidddddddddddddddddddddd
733d5695f2
always run filter in test
2023-01-08 11:13:16 +08:00
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
Kante Yin
2ceadfe885
Code refactor for readability
...
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-07 11:31:46 +08: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
Kubernetes Prow Robot
bd43394467
Merge pull request #114623 from Huang-Wei/feat/smart-preemption-identification
...
Enhanced logic to identify eligible preemption node
2023-01-06 00:23: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
Kante Yin
2c205e291d
Distinguish unschedulable with unresolvable in scheduler
...
Before, in RunPostFilterPlugins, we didn't distinguish between unschedulable and unresolvable
because we only have one postFilterPlugin by default, now, we have at least two, we should
make sure that once a postFilterPlugin returns unresolvable, we'll return directly
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-05 16:59:19 +08:00
Kante Yin
49e7e80999
Modify the return type of RunFilterPlugins to *Status
...
Before, the return type of RunFilterPlugins is a Map, but considering we'll return immediately
once we met unsuccessful status, this is not necessary.
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-03 14:33:58 +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
94fd106a17
Merge pull request #110453 from claudiubelu/unittests-4
...
unittests: Fixes unit tests for Windows (part 4)
2022-12-16 06:16:16 -08:00
Wei Huang
0aecf6b3d5
Fix a regression that scheduler always go through all Filter plugins
...
The correct behavior is to stop upon the first Filter failure.
2022-12-15 12:02:27 -08: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
dc1e77143f
Merge pull request #114082 from kidddddddddddddddddddddd/refactor_handleSchedulingFailure
...
pass status to handleSchedulingFailure
2022-12-12 22:05:34 -08:00
kidddddddddddddddddddddd
6ca62eb2cb
refactor
2022-12-13 11:36:12 +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
Claudiu Belu
4dc7a260ec
unittests: Fixes unit tests for Windows (part 4)
...
Currently, there are some unit tests that are failing on Windows due to
various reasons:
- paths not properly joined (filepath.Join should be used).
- files not closed, which means that they cannot be removed / renamed.
- time.Now() is not as precise on Windows, which means that 2
consecutive calls may return the same timestamp.
2022-11-29 16:32:26 +00:00
Wei Huang
a731a44596
Fix an accuracy issue of scheduler_pending_pods
metric
2022-11-21 21:33:16 -08: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