Arghya Sadhu
8154dc95b5
wrap errors in selectorspread and podtoplogyspread plugin
2020-09-28 21:28:54 +05:30
Arghya Sadhu
ad415b9f54
wrap errors in service affinity plugin
2020-09-27 11:28:31 +05:30
Arghya Sadhu
ff3c751afc
wrap errors in taint-toleration plugin
2020-09-26 21:16:41 +05:30
SataQiu
8c51c9955c
wrap errors from DefaultPreemption, ImageLocality and NodeAffinity plugins
2020-09-25 10:38:27 +08:00
Arghya Sadhu
078b355da3
deprecate scheduler metrics BindingLatency and SchedulingAlgorithmPreemptionEvaluationDuration
2020-09-23 17:15:13 +05:30
Arghya Sadhu
c62f0dd165
removing deprecated scheduler metrics
2020-09-22 21:04:15 +05:30
Kubernetes Prow Robot
965137a992
Merge pull request #94692 from alculquicondor/wrap_errors_min
...
Wrap errors from VolumeBinding and DefaultBinder plugins
2020-09-15 18:27:34 -07:00
Wei Huang
185ba08fcd
Move podPassesBasicChecks() to VolumeBinding plugin
2020-09-11 13:54:02 -07:00
Aldo Culquicondor
7fb40fc03c
Wrap errors on VolumeBinding plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I23053528ac6857124fddd7f9fa26e122202ff4bd
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-09-10 16:22:16 -04:00
Aldo Culquicondor
94985e28ac
Wrap errors on DefaultBinder plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I2e3c8aa2c1a2a5102e9110b6cff91d66a79a90f1
2020-09-10 16:22:16 -04:00
Wei Huang
4f7ae54f3e
fixup: add podLister as a member field of DefaultPreemption
2020-09-08 18:27:23 -07:00
Wei Huang
52bf6ba8ba
Preemption plugin to fetch pod from informer cache
2020-09-08 18:27:23 -07:00
Kubernetes Prow Robot
44ecd80cf1
Merge pull request #91557 from chendave/cleanup
...
cleanup: remove useless methods
2020-09-08 06:27:44 -07:00
Kubernetes Prow Robot
d239cdfbc0
Merge pull request #94059 from ahg-g/ahg-anti-affinity
...
Track pods with required anti-affinity
2020-09-08 04:54:12 -07:00
Kubernetes Prow Robot
b837699f74
Merge pull request #94125 from soulxu/only_includes_all_nodes_for_preferred
...
Only process all nodes when incoming pod has no preferred affinity
2020-09-07 14:01:58 -07:00
Kubernetes Prow Robot
217d89a59f
Merge pull request #93843 from soulxu/fast_path_podaffinity
...
Fast return when no any matched anti-affinity terms
2020-09-04 03:31:55 -07:00
Kubernetes Prow Robot
72350a3cf7
Merge pull request #93083 from Huang-Wei/dupe-import-alias
...
Remove duplicate path imports
2020-08-28 04:34:53 -07:00
Kubernetes Prow Robot
a4103dfeaf
Merge pull request #92819 from chendave/cleanup_machine
...
Change the node name from "machine" to "node"
2020-08-27 19:06:57 -07:00
Kubernetes Prow Robot
9062c43b76
Merge pull request #94211 from soulxu/cleanup_candidates
...
Initialize candidate directly instead of iterating the array of candidates
2020-08-27 16:08:06 -07:00
Kubernetes Prow Robot
a5160414e0
Merge pull request #93706 from SimpCosm/fix/scheduler-plugin-comment
...
Fix an error in NodeUnschedulable plugin comment
2020-08-27 16:06:48 -07:00
He Jie Xu
0e8bd4c550
Initialize candidate directly instead of iterating the array of candidates
...
Using existing victimsMap to get the victims, then it is easy to build candidate
directly.
2020-08-27 23:29:36 +08:00
He Jie Xu
ccd8eb3b1b
Only process all nodes when incoming pod has no preferred affinity
...
Currently, in interpodaffinty plugin, it only processes all nodes when the incoming
pod with affinity. Actually, it only cares about all nodes when the incoming pod
with preferred affinity. Then it will reduces the number of nodes need to be
processed.
2020-08-25 16:13:17 +08:00
Kubernetes Prow Robot
1c93be24ee
Merge pull request #93629 from cofyc/93009
...
fix flaky TestVolumeBinding unit test
2020-08-21 08:33:40 -07:00
Abdullah Gharaibeh
a8873e1a43
Track pods with required anti-affinity
...
This is a performance optimization that reduces the overhead of inter-pod affinity PreFilter calculaitons. Basically
eliminates that overhead when no pods in the cluster use required pod anti-affinity. This offered 20% improvement on 5k clusters for preferred anti-affinity benchmarks.
2020-08-21 10:09:21 -04:00
He Jie Xu
75ccb90407
Fast return when no any matched anti-affinity terms
...
When check the incoming pod's anti-affinity rules, there is change to
return early when there is no any matched anti-affinity terms in the
whole cluster.
2020-08-10 14:53:10 +08:00
houmin
868dd41a96
Fix an error in NodeUnschedulable plugin comment
2020-08-10 11:20:23 +08:00
Mike Dame
012245c5b9
Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
...
The lack of this validation on incoming pods causes unpredictable cluster outcomes
when later calculating affinity results against existing pods (see #92714 ). This fix
quickly addresses the main source where these problems should be caught.
It is unfortunately difficult to add this validation directly to the API server due
to the fact that it may break migrations with existing pods that fail this check. This
is a compromise to address the current issue.
2020-08-07 12:17:40 -04:00
Yecheng Fu
96d0408a89
fix TestVolumeBinding unit test
2020-08-03 07:06:06 +08:00
Abdullah Gharaibeh
5e81a2de98
Optimize VolumeRestrictions scheduler plugin
2020-07-22 23:00:01 -04:00
Wei Huang
bc04d73330
remove duplicate path import
2020-07-14 16:34:09 -07:00
Wei Huang
4e8ccf0187
Refactor and expose common preemption functions
2020-07-11 23:17:21 -07:00
Kubernetes Prow Robot
d06ff65943
Merge pull request #92876 from Huang-Wei/pdbLister
...
Add pdbLister as a member field of struct DefaultPreemption
2020-07-11 20:57:42 -07:00
Kubernetes Prow Robot
016c2f64de
Merge pull request #92840 from adtac/listers
...
selectorspread: access listers in plugin instantiation
2020-07-11 20:56:23 -07:00
Kubernetes Prow Robot
36b4c2942b
Merge pull request #92815 from Huang-Wei/bypass-prefilter-svcaffinity
...
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present
2020-07-10 15:43:11 -07:00
Kubernetes Prow Robot
0cb7e320a5
Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes
...
generic ephemeral inline volumes
2020-07-10 15:41:46 -07:00
Dave Chen
a1b2a7765d
Change the node name from "machine" to "node"
...
Latest change on master rename the node name from "machine" to "node"
but haven't update all the affected code, which causes some of testcases
invalid.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-10 10:17:58 +08:00
Patrick Ohly
ff3e5e06a7
GenericEphemeralVolume: initial implementation
...
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
a special meaning and then ensuring that the same code path is taken
for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
the finalizer already before the pod is deleted (only
if the GenericEphemeralVolume feature is enabled): this is
needed to break a cycle where foreground deletion of the pod
blocks on removing the PVC, which waits for deletion of the pod
The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Kubernetes Prow Robot
3a5e7ea986
Merge pull request #92752 from chendave/skip_preemption
...
Cut off the cost to run filter plugins when no victim pods are found
2020-07-09 09:10:10 -07:00
Kubernetes Prow Robot
70e09f2c24
Merge pull request #88842 from angao/fit-arg
...
add args for NodeResourcesFit plugin
2020-07-09 05:04:10 -07:00
Kubernetes Prow Robot
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
...
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
...
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Wei Huang
9d377eb655
Add pdbLister as a member field of struct DefaultPreemption
2020-07-07 12:25:53 -07:00
Adhityaa Chandrasekar
832a53acdb
selectorspread: access listers in plugin instantiation
2020-07-07 14:45:28 +00:00
Aldo Culquicondor
27ec356d76
Add SIG storage owner aliases
...
And give ownership to pkg/scheduler/framework/plugins/volumebinding
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
Dave Chen
028af0970f
Cut off the cost to run filter plugins when no victim pods are found
...
If no potential victims could be found, there is no need to evaluate the node
again, since its state didn't change.
It's safe to return and thus prevent scheduling from running the filter plugins
again.
NOTE:
A node that is filtered out by filter plugins could pass the filter plugins if
there is a change on that node, i.e. pods termination on that node.
Previously, this could be either caught by the normal `schedule` or `preempt` (pods
are terminated when the preemption logic tries to find the nodes and re-evaluate
the filter plugins.)
Actually, this shouldn't be taken care by the preemption, consider the routine
of `schedule` is always running when the interval is "zero", let `schedule`
take care of it will release `preempt` from something irrelevant with the `preemption`.
Due to above reason, couple of testcase as well as the logic of checking the existence
of victim pods are removed as it will never happen after the change.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-07 09:55:34 +08:00
Patrick Ohly
0efbbe8555
CSIStorageCapacity: check for sufficient storage in volume binder
...
This uses the information provided by a CSI driver deployment for
checking whether a node has access to enough storage to create the
currently unbound volumes, if the CSI driver opts into that checking
with CSIDriver.Spec.VolumeCapacity != false.
This resolves a TODO from commit 95b530366a
.
2020-07-06 19:20:10 +02:00
Wei Huang
07583bf95b
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present
2020-07-05 23:37:04 -07:00
Kubernetes Prow Robot
86096addb1
Merge pull request #92689 from chendave/fix_testcase
...
Fix the nits found in the testcases of `PodTopologySpread`
2020-07-03 20:31:26 -07:00
Kubernetes Prow Robot
19883b50f8
Merge pull request #92604 from soulxu/fix_preemption_with_nominated_node
...
The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
2020-07-03 05:03:01 -07:00
Dave Chen
3e65fe4378
Change the exception to avoid the cost of preemption
...
node's labels doesn't contain the required topologyKeys in `Constraints`
cannot be resolved by preempting the pods on that pods.
One use case that could easily reproduce the issue is,
- set `alwaysCheckAllPredicates` to true.
- one node contains all the required topologyKeys but is failed in predicates
such as 'taint'.
- another node doesn't hold all the required topologyKeys, and thus return `Unschedulable`
status code.
- scheduler will try to preempt the pods on the above node with lower priorities.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-03 10:17:31 +08:00
He Jie Xu
b3741f344e
The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
...
If the Pod's previous nominated node is UnschedulableAndUnresolvable from previous
filtering, it should be considered for preemption again.
2020-07-03 08:57:45 +08:00
Dave Chen
41fd19760e
Fix the nits found in the testcases of PodTopologySpread
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-02 12:37:46 +08:00
Wei Huang
7362fccdd7
Polish unit tests of defaultpreemptio plugin
2020-06-30 14:05:48 -07:00
Kubernetes Prow Robot
784b0738b5
Merge pull request #92578 from zhouya0/fix_preemt_comment
...
Fix scheduler preemt function comment
2020-06-29 18:35:27 -07:00
zhouya0
59f9a7d81e
Fix preemt function comment
2020-06-28 18:29:55 +08:00
RAKESH REDDY BANDI
d44a20f9ca
Rename DefaultPodTopologySpread plugin #91994
2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
ad29e168dc
Merge pull request #92108 from Huang-Wei/postfilter-impl-4
...
[postfilter-impl-4] Move Preempt() to defaultpreemption package.
2020-06-27 09:02:15 -07:00
Wei Huang
058e3d4258
Move Preempt() and its related functions to defaultpreemption package
...
Refactor genericScheduler and signature of preemption funcs
- remove podNominator from genericScheduler
- simplify signature of preemption functions
Make Preempt() private
2020-06-25 12:33:51 -07:00
Adhityaa Chandrasekar
ec83143342
scheduler: merge Reserve and Unreserve plugins
...
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00:00
Kubernetes Prow Robot
c6d2b223fb
Merge pull request #92222 from cofyc/fix92186
...
Share pod volume binding cache via framework.CycleState
2020-06-24 13:31:21 -07:00
Yecheng Fu
f899976b41
fixup
2020-06-24 14:14:03 +08:00
Yecheng Fu
22d874993c
build files
2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4
tests only
2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be
Share pod volume binding cache via framework.CycleState
2020-06-23 22:18:33 +08:00
Dave Chen
e1d61b621a
Scheduler: remove the misleading comments in NodeResourcesBalancedAllocation
...
Signed-off-by: Dave Chen dave.chen@arm.com
2020-06-23 17:33:02 +08:00
Wei Huang
d99cc01646
Register and enable defaultpreemption plugin
...
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Ali Farah
a22e115a0e
Split scheduler framework implementation into new runtime package
2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
5ed7b1afb8
Merge pull request #92012 from Huang-Wei/postfilter-impl-2
...
[postfilter-impl-2] Introduce a defaultpreemption PostFilter plugin
2020-06-19 21:51:42 -07:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
...
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Kubernetes Prow Robot
5968bc4653
Merge pull request #92247 from chendave/skiptopology
...
Skip `PreScore` when the `TopologySpreadConstraints` is specified
2020-06-19 11:37:44 -07:00
Wei Huang
196056d7fe
Introduce a defaultpreemption PostFilter plugin
...
- Add a defaultpreemption PostFilter plugin
- Make g.Preempt() stateless
- make g.Preempt() stateless
- make g.getLowerPriorityNominatedPods() stateless
- make g.processPreemptionWithExtenders() stateless
2020-06-19 09:13:55 -07:00
Shintaro Murakami
79ab958996
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 17:39:42 +09:00
Dave Chen
068c69d743
Skip PreScore
when the TopologySpreadConstraints
is specified
...
`DefaultPodTopologySpread` need't score when the `TopologySpreadConstraints`
is specified.
`PreScore` needn't do this as well, this cut off the cost of `PreScore` if
possible.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-18 18:01:56 +08:00
Dave Chen
9ebd872e71
Explicitly declare the interfaces for extension points
...
This make it easier to catch the issue during the compilation, also,
this also align with other plugins, i.e. plugin of "InterPodAffinity".
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-17 15:11:44 +08:00
Dave Chen
8f0c329758
cleanup: update invalid comments in plugin of InterPodAffinity
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 14:11:59 +08:00
Yecheng Fu
814a6f2acd
remove FakeVolumeBinderConfig and test new statues and states
2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4
Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound
2020-06-12 10:00:19 +08:00
Kubernetes Prow Robot
5372e017b6
Merge pull request #92003 from mattcary/format-plugins
...
Remove warning about misuse of %w
2020-06-10 22:44:02 -07:00
Matthew Cary
ee9e6a3bcc
Remove warning about misuse of %w
2020-06-10 14:58:55 -07:00
Kubernetes Prow Robot
418c2cbb45
Merge pull request #91918 from alculquicondor/new_max_skew
...
Use maxSkew in PodTopologySpread scoring as tolerance to skew
2020-06-10 04:40:21 -07:00
Wen Gao
b21b298074
add arg for noderesourcesfit plugin to support ignore a group of extended resources
2020-06-10 10:52:54 +08:00
Kubernetes Prow Robot
1cbb5d1e51
Merge pull request #91894 from chendave/podaffinity_comments
...
Fix the incorrect error message of `InterPodAffinity` plugin
2020-06-08 21:44:45 -07:00
Kubernetes Prow Robot
de1a277185
Merge pull request #91735 from gpldirk/tps-comment
...
fix minor comment in podtopologyspread scoring test
2020-06-08 21:43:48 -07:00
Aldo Culquicondor
d353cc1532
Use maxSkew in PodTopologySpread scoring as tolerance to skew
...
This new approach results in better spreading for small number of pods, while still giving meaning to the maxSkew parameter.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-08 16:25:59 -04:00
SataQiu
932e61aefa
deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
...
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Dave Chen
02fb3387a0
Fix the incorrect error message of InterPodAffinity
plugin
...
A line of copy/paste code firstly from the method named `buildTopologyPairToScore`.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-08 16:39:19 +08:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API
2020-06-04 07:35:25 -07:00
gpldirk
6a26f76add
fix minor comment in podtopologyspread scoring test
2020-06-03 16:03:10 +00:00
Wei Huang
133dde6358
Remove EvenPodsSpread
featuregate and related logic
2020-06-02 11:24:12 -07:00
Kubernetes Prow Robot
413bc1a1d2
Merge pull request #91138 from chendave/imagelocality
...
Define the thresholds per the size of container images
2020-05-31 16:17:53 -07:00
Dave Chen
42fbb1d72f
Define the thresholds per the size of container images
...
Given the assumption that 90% of images on dockerhub drops into this range (23~1000)MB,
this assumption is based on the container images instead of the pod.
pod might hold multiple container images, it's better to multiply the assumption by the size
of container images.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-30 20:57:50 +08:00
Wei Huang
1837b49554
Scheduler PostFilter API
2020-05-29 18:18:00 -07:00
Dave Chen
649523ce91
cleanup: remove useless methods
...
`BuildArgs` is not used anywhere and the `args` can be directly got from
the instance instead of defining a method to do that.
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-29 10:41:54 +08:00
Rafal Wicha
3ffd71c4a2
Move Node Resources scheduler plugin args validation to apis/config/validation
2020-05-26 22:37:16 +01:00
Rafal Wicha
85be9c1673
Move Scheduler plugin args validation to apis/config/validation
2020-05-25 16:27:21 +01:00
Dave Chen
84915d1623
Expose the issue that max threshold haven't considered container size
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-25 17:31:47 +08:00
Kubernetes Prow Robot
4310732c55
Merge pull request #91102 from chendave/capacity_ratio
...
Move `RequestedToCapacityRatio` Args defaults to versioned packages
2020-05-19 20:35:20 -07:00
Abdullah Gharaibeh
4ff554ba83
Eliminate locking in (anti)affinity calculations
2020-05-18 22:37:37 -04:00
Kubernetes Prow Robot
9eb097c4b0
Merge pull request #91168 from ahg-g/ahg-affinity5
...
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 16:29:51 -07:00
Abdullah Gharaibeh
5d2c05408d
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 15:15:09 -04:00
Dave Chen
838a0a8c03
Move RequestedToCapacityRatio
Args defaults to versioned packages
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-18 14:19:39 +08:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
...
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
7f0c05b909
Merge pull request #90544 from chendave/weight
...
configurable weight on the CPU and memory
2020-05-16 07:36:30 -07:00
Kubernetes Prow Robot
9769e0f5da
Merge pull request #90008 from gavinfish/scheduler-utilparsers
...
Scheduler: remove direct import to /pkg/util/parsers
2020-05-16 07:35:49 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Dave Chen
621c73b984
Configurable weight on the CPU and memory
...
This change also make it possible to score the resources beyond the "cpu"
and "memory" which is currently listed in "defaultRequestedRatioResources".
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-15 22:26:30 +08:00
Abdullah Gharaibeh
087839daf7
Added pre-processed preferred affinity terms to scheduler's PodInfo type.
2020-05-15 09:00:56 -04:00
Kubernetes Prow Robot
71277de4d6
Merge pull request #91069 from alculquicondor/bind_ctx
...
Use passed context in default binder
2020-05-15 02:49:28 -07:00
Kubernetes Prow Robot
c453be845a
Merge pull request #91062 from ahg-g/ahg-affinity1
...
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-15 02:49:07 -07:00
Kubernetes Prow Robot
95e598586e
Merge pull request #91016 from chendave/nits
...
Fix nits in comments for NodeResources plugins
2020-05-15 02:48:02 -07:00
Abdullah Gharaibeh
5e0211c72d
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-14 10:30:42 -04:00
Dave Chen
6b9fb2c591
Fix nits in comments for NodeResources plugins
2020-05-14 18:45:59 +08:00
Aldo Culquicondor
78fca663ce
Use passed context in default binder
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-13 11:36:14 -04:00
Yecheng Fu
85a8740d9b
scheduler/volumebinding: auto-generated files only
2020-05-12 10:13:06 +08:00
Yecheng Fu
c14b749521
scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin
2020-05-12 10:13:05 +08:00
Kubernetes Prow Robot
e6e29fbbc3
Merge pull request #90820 from alculquicondor/score-max-skew
...
Use maxSkew in score calculation
2020-05-08 18:28:19 -07:00
Aldo Culquicondor
516c8fbfad
Use maxSkew in score calculation
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-08 09:34:45 -04:00
Aldo Culquicondor
2935480cc8
Move Plugin Args defaults to versioned packages
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-06 18:00:23 -04:00
Kubernetes Prow Robot
594cbdfd19
Merge pull request #89508 from KobayashiD27/test-coverage-up
...
Add test case to improve the test coverage.
2020-05-01 13:00:31 -07:00
Kubernetes Prow Robot
ba43630708
Merge pull request #90475 from alculquicondor/topology-scoring
...
Topology spreading scoring with automatically weighted topologies
2020-05-01 00:40:04 -07:00
Kubernetes Prow Robot
8dd93ca94c
Merge pull request #90309 from alculquicondor/plugin-args-decoding
...
Use internal config types in scheduling plugin args
2020-04-30 05:32:18 -07:00
Kubernetes Prow Robot
863ce9726e
Merge pull request #90295 from tanjunchen/pkg/scheduler/framework/plugins/-20200420
...
pkg/scheduler/framework/plugins/:fix unconsistent comments and make log more clear
2020-04-29 18:30:18 -07:00
Aldo Culquicondor
98d1e241f1
Use internal config types in scheduling plugin args
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:07:10 -04:00
Aldo Culquicondor
1aaa5fcc80
Topology scoring with dynamically weighted topologies
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 09:55:52 -04:00
Aldo Culquicondor
a9461fe6f5
spreading: Store ignored instead of qualifying nodes
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-27 13:18:34 -04:00
drfish
0b715ea690
Scheduler: remove direct import to /pkg/util/parsers
2020-04-26 23:41:52 +08:00
Kubernetes Prow Robot
277f7614ea
Merge pull request #90203 from tanjunchen/remove-repeat-test-sche
...
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-24 12:15:20 -07:00
tanjunchen
0e38ba0ef6
pkg/scheduler/framework/:fix unconsistent comments and make log more clear
2020-04-24 11:17:11 +08:00
Kubernetes Prow Robot
b850b5ce2e
Merge pull request #89222 from fengzixu/master
...
bugfix: initcontainer is also taken into account when calculating resource requests
2020-04-23 00:45:44 -07:00
Abdullah Gharaibeh
57585640e8
change scheduler's framework PodLister to PodInfoLister
2020-04-22 19:25:27 -04:00
fengzixu
d54822d193
bugfix: initcontainer wasn't considered when calculate resource request
2020-04-23 02:08:33 +09:00
Abdullah Gharaibeh
a151682887
Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo
2020-04-21 21:45:20 -04:00
Gaurav Singh
31afb24244
[Scheduler] Map deletion complexity: log(n) => O(1)
2020-04-19 11:31:55 -04:00
tanjunchen
6180d701cc
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-17 09:24:45 +08:00
Rafal Wicha
b511fa8627
Add PodTopologySpread plugin arg types to kube-scheduler.config.k8s.io
2020-04-16 16:26:27 +01:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
...
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Aldo Culquicondor
ce05382b58
Use RawExtension and Object for external and internal scheduling plugin args, respectively
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-14 13:44:42 -04:00
Abdullah Gharaibeh
bed9b2f23b
Cleanup obsolete NodeInfo methods
2020-04-12 18:13:46 -04:00
Abdullah Gharaibeh
2c51c13620
Scheduler NodeInfo cleanup
2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
...
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Abdullah Gharaibeh
b8ddd00312
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-08 17:53:20 -04:00
Rafał Wicha
c4d20ca8a8
Add types for Scheduler plugin args to kube-scheduler.config.k8s.io
2020-04-08 20:23:56 +01:00
Abdullah Gharaibeh
a5d8172715
move nodeinfo type to framework pkg
2020-04-07 10:25:24 -04:00
Harsh Singh
015d06bf41
Internal channels for scheduler
2020-04-04 02:30:16 +05:30
Abdullah Gharaibeh
ed3fe054df
move scheduler nodeinfo to pkg/scheduler/types
2020-03-31 21:02:09 -04:00
Aldo Culquicondor
93fc02cf54
Set initial map size
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:34 -04:00
Aldo Culquicondor
65d9f81758
Replace lock with atomic updates in spreading filter
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:32 -04:00
Aldo Culquicondor
275da7afc0
Benchmark for topology spreading filter
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:12:22 -04:00
Kubernetes Prow Robot
59c66dab8c
Merge pull request #89487 from alculquicondor/per_node_spreading
...
Optimize preferred spreading for hostname topology
2020-03-30 08:21:54 -07:00
Aldo Culquicondor
d2b1903149
Calculate scores in parallel on spreading benchmarks
...
This is closer to what happens in the core scheduler
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:33:50 -04:00
Kubernetes Prow Robot
894916b665
Merge pull request #89459 from chendave/scorer_desc
...
Trival fix: update the desc on the score plugins
2020-03-26 07:56:39 -07:00
Kobayashi Daisuke
9d6235c54e
Add test case to improve the test coverage.
2020-03-26 17:34:38 +09:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10
2020-03-25 10:46:28 -07:00
Aldo Culquicondor
4b31b55499
Count spreading node matches for hostname topology in Score
2020-03-25 13:29:27 -04:00
Kubernetes Prow Robot
d00f9c7c10
Merge pull request #89338 from skilxn-go/AddCompatibilityTestForPluginArgs
...
Add compatibility tests for plugin arguments
2020-03-25 08:49:03 -07:00
Dave Chen
4ab7be43ce
Trival fix: update the desc on the score plugins
...
For whatever the reason, the max score has been updated from "10"
to "100"
2020-03-25 12:09:09 +08:00
Kubernetes Prow Robot
c58a3757cb
Merge pull request #89365 from notpad/feature/zone_label_ga
...
Add check for volume zone GA labels
2020-03-24 15:27:34 -07:00
Aldo Culquicondor
e902e70d0d
Use sqrt(n) chunk size in pod affinity and core scheduler
2020-03-24 10:29:59 -04:00
Aldo Culquicondor
36efa035e2
Add chunk size option to ParallelizeUntil
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-24 10:29:59 -04:00
skilxn-go
e0adb0ead9
Add compatibility tests for plugin config
2020-03-24 22:17:16 +08:00
notpad
98405a8bd9
Add check for volume zone GA labels
2020-03-24 21:11:25 +08:00
Kubernetes Prow Robot
fe2fdcd695
Merge pull request #89162 from alculquicondor/affinity-less-lock
...
Reduce locking when calculating affinity scores
2020-03-19 15:04:35 -07:00
Aldo Culquicondor
d0dc178ab8
Reduce locking when calculating affinity scores
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-17 15:46:01 -04:00
notpad
a043bc438d
Fix comments
2020-03-16 11:58:27 +08:00
Jordan Liggitt
d8abacba40
client-go: update expansions callers
2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
...
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Aldo Culquicondor
73ad38593a
Add default constraints to PodTopologySpread
...
And update benchmark for even pod spreading to use default constraints
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Rafal Wicha
09598d48f6
Improve plugin args JSON tags
2020-03-02 15:20:44 +00:00
louisgong
c6b94e4606
refactor volume binder
2020-02-29 12:03:39 +08:00
Kubernetes Prow Robot
901a884c71
Merge pull request #88338 from egernst/PodOverhead-beta
...
Upgrade PodOverhead to beta
2020-02-28 15:12:40 -08:00
Patrick Ohly
6329b17d2f
volume scheduler: introduce special string type
...
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043 ).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac
volume scheduler: move reason strings into volume code
...
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.
This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01:00
Eric Ernst
991909fdfb
PodOverhead: remove feature gate override in tests
...
PodOverhead is now a beta feature and set to true by default. No need to
override to true during testing.
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-27 17:27:06 +00:00
Aldo Culquicondor
fd5b298c50
Test PodTopologySpread.PreScore instead of internal pre-processing.
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:25:01 -05:00
Aldo Culquicondor
0e46803e77
Test PodTopologySpread.PreFilter instead of internal pre-processing.
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:17:17 -05:00
Aldo Culquicondor
c8377ef7db
Add BuildArgs to interpodaffinity plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-18 09:55:06 -05:00
skilxn-go
8fd0d8028f
Remove FilteredNodesStatuses
argument from PreScore
interface
2020-02-15 13:53:04 +08:00
Aldo Culquicondor
99bda6fac0
Remove HardPodAffinityWeight from v1alpha2
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
Aldo Culquicondor
666bc6aeb4
Scheduler: Exclude plugin config for empty policy arguments
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:11:47 -05:00
skilxn-go
f5b7e3cca3
Rename PostFilter
plugin to PreScore
2020-02-12 23:25:08 +08:00
notpad
fb895056c6
Add test
2020-02-11 16:51:21 +08:00
notpad
a7057f8df0
Cleanup "slow-path" logic in scheduler Filters
2020-02-10 22:48:49 +08:00
Kubernetes Prow Robot
7cfa396e7c
Merge pull request #87725 from alculquicondor/rm_affinity_weight
...
Add defaults to pod affinity args
2020-02-07 12:32:17 -08:00
Kubernetes Prow Robot
fc6f878a65
Merge pull request #87845 from Huang-Wei/pts-exclude-terminating-pods
...
PodTopologySpread plugin now excludes terminatingPods
2020-02-07 00:08:20 -08:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision
2020-02-06 07:38:50 -08:00
Abdullah Gharaibeh
0a476eb7d4
reduce overhead of error message formatting and allocation for scheudler NodeResource filter
2020-02-04 11:02:29 -05:00
Aldo Culquicondor
60c972098c
Add defaults to pod affinity args
...
And remove pod affinity parameter from algorithm provider registry
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-03 14:58:28 -05:00
skilxn-go
a4d1624fec
Skip default spreading scoring plugin for pods that define TopologySpreadConstraints
2020-01-28 22:25:03 +08:00
Kubernetes Prow Robot
2cd685a020
Merge pull request #87250 from starizard/adding-taint-toleration-error-reasons
...
Adding taint toleration error reasons
2020-01-25 01:23:01 -08:00
Shawn Rebello
22bd26fefb
Adding taint toleration error reasons
2020-01-24 02:50:55 +05:30
Aldo Culquicondor
4a5ab84dcc
Move default binding to a plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-22 14:13:33 -05:00
Haosdent Huang
50d511d4b8
Deprecate scheduler's framework.plugins.RegistryArgs
2020-01-21 23:50:58 +08:00
Aldo Culquicondor
f53d7e55df
Move Snapshot from nodeinfo/snapshot to internal/cache
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 13:29:41 -05:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin
2020-01-16 19:10:43 -08:00
Abdullah Gharaibeh
fb66e807cd
Remove scheduler framework dependency on predicates package
2020-01-13 13:02:31 -05:00
Kubernetes Prow Robot
dc2099ea11
Merge pull request #87055 from denkensk/clean-unused-predicate-error
...
Cleanup unused predicate error types.
2020-01-10 12:25:16 -08:00
Kubernetes Prow Robot
942b526e5c
Merge pull request #87051 from Huang-Wei/remove-prio-util-pkg
...
Remove scheduler/algorithm/priorities/util package
2020-01-10 12:25:01 -08:00
Kubernetes Prow Robot
9269b5d430
Merge pull request #87014 from notpad/fix/comments
...
Fix comment
2020-01-09 21:58:55 -08:00
Alex Wang
0bab010b45
clean unused predicate error
2020-01-10 13:06:29 +08:00
Wei Huang
b2159b5d66
Remove scheduler/algorithm/priorities/util package
2020-01-09 20:16:05 -08:00
draveness
2c3c6721ce
refactor(scheduling): remove priorities package
2020-01-10 09:05:39 +08:00
Kubernetes Prow Robot
e648e944e0
Merge pull request #86848 from haosdent/clean-filter-deps-nodeunschedulable
...
Break nodeunschedulable Filter plugins dependency on predicates package
2020-01-09 16:10:34 -08:00
Kubernetes Prow Robot
aef336d712
Merge pull request #86999 from draveness/feature/remove-ErrTopologySpreadConstraintsNotMatch
...
fix: remove ErrTopologySpreadConstraintsNotMatch
2020-01-09 13:29:42 -08:00
Kubernetes Prow Robot
eedf1945b5
Merge pull request #86998 from denkensk/rm-errserviceaffinityviolated
...
Remove ErrServiceAffinityViolated scheduler predicate error
2020-01-09 11:33:42 -08:00
Kubernetes Prow Robot
407b29fa05
Merge pull request #86981 from alculquicondor/fix/node_info_list_2
...
Remove uses of NodeInfoMap outside of snapshot and cache
2020-01-09 11:33:31 -08:00
Aldo Culquicondor
bcab9b4c9e
Remove uses of NodeInfoMap outside of snapshot and cache
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-09 10:04:11 -05:00
Kubernetes Prow Robot
32d8799ef1
Merge pull request #86979 from ahg-g/ahg-cleanup2
...
Move TaintToleration predicate to its plugin
2020-01-09 06:53:45 -08:00
Abdullah Gharaibeh
50b697bacb
move TaintToleration predicate to its plugin
2020-01-09 08:14:53 -05:00
notpad
228891de9c
Fix comment
2020-01-09 20:06:56 +08:00
draveness
0278d793c8
fix: remove ErrTopologySpreadConstraintsNotMatch
2020-01-09 16:01:13 +08:00
Alex Wang
80127fe10f
rm errserviceaffinityviolated
2020-01-09 15:08:59 +08:00
Haosdent Huang
864600f05f
Break nodeunschedulable Filter plugins dependency on predicates package
2020-01-09 14:54:28 +08:00
Kubernetes Prow Robot
2c800c5a70
Merge pull request #86985 from ahg-g/ahg-cleanup4
...
Remove test/integration dependency on predicates and algorithmprovider
2020-01-08 21:29:58 -08:00
Kubernetes Prow Robot
4d41f4809f
Merge pull request #86890 from damemi/move-selector-spread-to-plugin
...
Move selector spreading priority code to plugin
2020-01-08 21:29:45 -08:00
Kubernetes Prow Robot
b3c94d3fb9
Merge pull request #86966 from bharaththiruveedula/master
...
Fix interpodaffinity issue
2020-01-08 19:12:20 -08:00
Kubernetes Prow Robot
4d95d40a41
Merge pull request #86836 from haosdent/clean-filter-deps-interpodaffinity
...
Break interpodaffinity Filter plugins dependency on predicates package
2020-01-08 19:11:53 -08:00
Abdullah Gharaibeh
c86f59610c
remove test/integration dependency on predicates and algorithmprovider
2020-01-08 19:51:22 -05:00
Bharath Thiruveedula
8e3c1b54a7
Fix interpodaffinity issue
...
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
2020-01-09 01:18:49 +05:30
Mike Dame
d227b7822f
Move selector spreading priority code to plugin
2020-01-08 13:37:37 -05:00
Kubernetes Prow Robot
b34c96b62c
Merge pull request #86764 from haosdent/migrate-servie-affinity
...
Break serviceaffinity Filter plugins dependency on predicates package
2020-01-08 08:47:39 -08:00
Haosdent Huang
a1053e4835
Break interpodaffinity Filter plugins dependency on predicates package
2020-01-08 14:37:51 +08:00
Kubernetes Prow Robot
99600ae9a7
Merge pull request #86852 from haosdent/clean-filter-deps-volumezone
...
Break volumezone Filter plugins dependency on predicates package
2020-01-07 14:08:55 -08:00
Kubernetes Prow Robot
c867fdbc1c
Merge pull request #86847 from haosdent/clean-filter-deps-nodelabel
...
Break nodelabel Filter plugins dependency on predicates package
2020-01-07 14:08:46 -08:00
Kubernetes Prow Robot
c7af1da206
Merge pull request #86913 from ahg-g/ahg-nodelimit
...
fix a bug in scheduler's node resource limits score
2020-01-07 12:34:25 -08:00
Abdullah Gharaibeh
e26fbe6f08
fix a bug in scheduler's node resource limits score
2020-01-07 13:43:44 -05:00
Kubernetes Prow Robot
d4d3d4b55e
Merge pull request #86875 from ahg-g/ahg1-cleanup
...
Move RequestedToCapacityRatio argument processing to its plugin
2020-01-07 10:14:42 -08:00
Kubernetes Prow Robot
dc084fe131
Merge pull request #86849 from haosdent/clean-filter-deps-nodevolumelimits
...
Break nodevolumelimits Filter plugins dependency on predicates package
2020-01-07 10:14:33 -08:00
Haosdent Huang
320c9bfeed
Break volumezone Filter plugins dependency on predicates package
2020-01-08 01:03:01 +08:00
Haosdent Huang
6a82609902
Break serviceaffinity Filter plugins dependency on predicates package
2020-01-07 22:43:37 +08:00
Haosdent Huang
4ef31f81c7
Break nodelabel Filter plugins dependency on predicates package
2020-01-07 16:37:52 +08:00
Abdullah Gharaibeh
729c37373a
Remove unused scheduler types
2020-01-06 21:19:42 -05:00
Kubernetes Prow Robot
e7c79050b4
Merge pull request #86718 from ahg-g/ahg1-err
...
Copy nodeaffinity predicate to its filter plugin
2020-01-06 18:06:46 -08:00
Abdullah Gharaibeh
4e67476867
move nodeaffinity predicate to its filter plugin
2020-01-06 13:22:51 -05:00
Abdullah Gharaibeh
b9e2389e0d
Move RequestedToCapacityRatio argument processing to its plugin
2020-01-06 11:54:09 -05:00
Haosdent Huang
9bcca31e52
Break volumerestrictions Filter plugins dependency on predicates package
2020-01-06 02:59:47 +08:00
Haosdent Huang
aae9a7f704
Break nodevolumelimits Filter plugins dependency on predicates package
2020-01-06 02:30:40 +08:00
Kubernetes Prow Robot
2d56d75061
Merge pull request #86730 from ahg-g/ahg1-ds
...
Break DS controller dependency on scheduler predicates and predicate errors
2020-01-04 14:39:40 -08:00
Haosdent Huang
d27dc6751e
Break volumebinding Filter plugins dependency on predicates package
2020-01-05 01:37:22 +08:00
Abdullah Gharaibeh
7d604c318c
Break DS controller on scheduler predicates and predicate errors
2020-01-03 13:05:07 -05:00
Abdullah Gharaibeh
b535ed3b0c
Merge scheduler's ConfigProducerRegistry into LegacyRegistry
2020-01-02 16:40:33 -05:00
Abdullah Gharaibeh
a6b7b0d95e
Define algorithm providers in terms of plugins.
2019-12-31 15:28:09 -05:00
notpad
7f79516705
Move resource-based priority functions to their Score plugins
2019-12-31 23:50:11 +08:00
Wei Huang
78352240f6
Move podtopologyspread priority logic to its Score plugin
2019-12-28 19:29:37 -08:00
Kubernetes Prow Robot
f796b750c6
Merge pull request #86681 from Huang-Wei/interpodaffinity-typo
...
Fix a typo in interpodaffinity score plugin
2019-12-28 08:23:38 -08:00
Wei Huang
b3bebddb30
Fix a typo in interpodaffinity score plugin
2019-12-27 20:23:28 -08:00
draveness
320ac4e277
feat(scheduling): implement azure, cinder, ebs and gce as filter plugin
2019-12-28 11:46:40 +08:00
Kubernetes Prow Robot
0387ee4244
Merge pull request #86625 from zouyee/cnu
...
Move CheckNodeUnschedulable predicate to its filter plugin
2019-12-27 09:27:39 -08:00
Kubernetes Prow Robot
429ad7db4f
Merge pull request #86659 from Huang-Wei/eps-move-pred
...
Move pod topology spread predicate logic to its filter plugin
2019-12-27 07:53:38 -08:00
Kubernetes Prow Robot
b52cdca17d
Merge pull request #86638 from danielqsj/ServiceAntiAffinityPriority
...
Move ServiceAntiAffinityPriority to score plugin
2019-12-27 04:05:38 -08:00
Wei Huang
8a4dce5431
Move pod topology spread predicate logic to its filter plugin
2019-12-26 23:56:03 -08:00
danielqsj
f53c81f4a2
Move ServiceAntiAffinityPriority to score plugin
2019-12-27 10:02:13 +08:00
draveness
291a7bb164
feat(scheduling): move csi volume predicates to csi filter plugin
2019-12-27 09:14:35 +08:00
zouyee
89867e1c21
Move CheckNodeUnschedulable predicate to its filter plugin
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:38:27 +08:00
zouyee
c4331b0369
Move VolumeZone predicate to its Filter plugin
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:36:11 +08:00
Kubernetes Prow Robot
c84b1a8a10
Merge pull request #86601 from angao/no-disk-conflict
...
move NoDiskConflict predicate to its filter plugin
2019-12-25 15:27:38 -08:00
Kubernetes Prow Robot
bd1195c28e
Merge pull request #86580 from zouyee/rlp
...
Move ResourceLimitsPriority to its Score plugin
2019-12-25 07:39:38 -08:00
Alex Wang
e5168cc7bb
move nodepreferavoidpods to score plugin
2019-12-25 17:26:58 +08:00
zouyee
bf2b709e82
Move ResourceLimitsPriority to its Score plugin
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-25 16:41:40 +08:00
Kubernetes Prow Robot
26253903b5
Merge pull request #86595 from draveness/feature/move-node-affinity-to-score-plugin
...
feat: implement node affinity priority as score plugin
2019-12-25 00:01:43 -08:00
Wen Gao
e5d90c57f0
move NoDiskConflict predicate to its filter plugin
2019-12-25 15:44:59 +08:00
notpad
c33c4fffd1
Move RequestedToCapacityRatio to plugins/noderesources
2019-12-25 12:18:32 +08:00
draveness
75872b8e79
feat: implement node affinity priority as score plugin
...
+ Add DefaultNormalizeScore function
+ Implement NodeAffinity as score plugin
2019-12-25 10:53:35 +08:00
Abdullah Gharaibeh
fe7de96ebe
cleanup scheduler's in-tree plugins registry naming
2019-12-24 15:56:36 -05:00
Kubernetes Prow Robot
24469a3692
Merge pull request #86585 from SataQiu/scheduler-taint-toleration
...
"Move Taint and toleration priority to its Score plugin"
2019-12-24 11:43:29 -08:00
Kubernetes Prow Robot
175ee0a111
Merge pull request #86542 from zouyee/nodeinfocheck
...
introduce checker for the result of nodeInfo.Node()
2019-12-24 03:23:29 -08:00
SataQiu
21c916c3d2
move Taint and toleration predicate to its Score plugin
2019-12-24 19:22:12 +08:00
Kubernetes Prow Robot
39d0710a4b
Merge pull request #86530 from zouyee/vbb
...
Move volumebinding predicate to its filter plugin
2019-12-23 22:05:29 -08:00
zouyee
bf8a8a657c
introduce checker for the result of nodeInfo.Node()
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-24 09:11:40 +08:00
draveness
3f591bb2dd
feat: implement image locality as score plugin
2019-12-23 23:05:23 +08:00
zouyee
83408acf75
Move volumebinding predicate to its filter plugin
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-23 21:57:49 +08:00
Kubernetes Prow Robot
8737890681
Merge pull request #86459 from ahg-g/ahg1-affinity-pred
...
move inter pod affinity predicate logic to its Filter plugin
2019-12-20 18:28:08 -08:00
Abdullah Gharaibeh
429448cb40
move inter pod affinity predicate logic to its Filter plugin
2019-12-20 16:58:36 -05:00
Kubernetes Prow Robot
b632eaddba
Merge pull request #86446 from ahg-g/ahg1-nodelabel
...
Move NodeLabel priority logic to its Score and Filter plugin
2019-12-19 15:37:21 -08:00
Kubernetes Prow Robot
641d0290e4
Merge pull request #86399 from ahg-g/ahg1-prioritymeta
...
InterPodAffinity Priority as Score plugin
2019-12-19 13:39:56 -08:00
Abdullah Gharaibeh
68f3802ba8
move NodeLabel predicate logic to its Filter plugin
2019-12-19 14:00:39 -05:00
Abdullah Gharaibeh
119a9a94d1
InterPodAffinity Priority as Score plugin
2019-12-19 13:42:49 -05:00
Abdullah Gharaibeh
22a0f55a68
move NodeLabel priority logic to its Score plugin
2019-12-19 13:35:43 -05:00
Kubernetes Prow Robot
9fad2e3201
Merge pull request #84611 from cwdsuzhou/Nov/simplyfy_zone_checker
...
Simplify volume zone checker codes
2019-12-19 08:09:57 -08:00
Kubernetes Prow Robot
77c565025a
Merge pull request #86289 from ahg-g/ahg1-metadata
...
Deprecate PredicateMetadata
2019-12-17 23:42:10 -08:00
Abdullah Gharaibeh
770e51cd10
Deprecate PredicateMetadata
2019-12-17 08:02:59 -05:00
Abdullah Gharaibeh
b3abfdc9e4
registered nodeports and noderesources prefilters
2019-12-17 07:29:37 -05:00
Kubernetes Prow Robot
d2c5d0ae70
Merge pull request #86264 from ahg-g/ahg1-svcmeta
...
Move service affinity predicate logic to its plugin.
2019-12-16 21:39:39 -08:00
Jacek Kaniuk
8fae8e54af
Disable excessive logging in scheduler plugins
2019-12-16 15:14:39 +01:00
Abdullah Gharaibeh
7331ec7b02
Move service affinity predicate logic to its plugin.
2019-12-15 13:56:31 -05:00
Abdullah Gharaibeh
02a0aad6d3
podfitsresource metadata as prefilter
2019-12-14 00:51:25 -05:00
Wei Huang
3d353f5122
Update semantics of EvenPodsSpread metadata object
...
- Now `nil` represents the meta is not set at all (in PreFilter phase)
- An empty `PodTopologySpreadMetadata` object denotes it's a legit meta and is set in PreFilter phase.
2019-12-13 16:33:22 -08:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin
2019-12-13 16:33:21 -08:00
Abdullah Gharaibeh
c54dbd85e0
wrap host ports metadata in a prefilter.
2019-12-13 09:16:25 -05:00
Abdullah Gharaibeh
2fdf1fa3c1
inter-pod affinity prefilter
2019-12-12 15:20:14 -05:00
Wei Huang
dc3d1bd238
Eliminate running paths of Predicates in scheduler
...
- eliminate running paths of Predicates in scheduler; use Filter Plugins instead.
- refactor all unit tests
- adjust the TestPreemptWithPermitPlugin integration test
2019-12-10 19:14:13 -08:00
Wei Huang
a136108d2b
Return all predicate failures instead of the first one
2019-12-08 21:10:40 -08:00
Kubernetes Prow Robot
055daafe23
Merge pull request #85139 from ahg-g/ahg-snapshot2
...
Updated NewSnapshot interface to accept a NodeInfoMap
2019-11-12 11:52:10 -08:00
Abdullah Gharaibeh
902cf48cd3
Updated NewSnapshot interface to accept a NodeInfoMap instead of lists of nodes and pods
2019-11-12 11:14:17 -05:00
Fabio Bertinatto
a59abc3cc3
Convert scheduler to use CSINode GA
2019-11-12 09:43:54 +01:00
Fabio Bertinatto
affcd0128b
Promote volume limits to GA
2019-11-12 09:43:53 +01:00
Kubernetes Prow Robot
01e014c7d6
Merge pull request #85012 from alculquicondor/feat/predicate_factory
...
Add MetadataProducerFactory for predicates
2019-11-11 14:46:36 -08:00
Kubernetes Prow Robot
bff9a7774c
Merge pull request #84639 from SataQiu/clean-scheduler-20191101
...
scheduler: improve some comments and validation messages
2019-11-11 12:56:04 -08:00
Aldo Culquicondor
6a98c93f3c
Add MetadataProducerFactory for predicates
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
Kubernetes Prow Robot
36acfecd4b
Merge pull request #84973 from draveness/feature/inter-pod-affinity-score
...
feat(scheduler): convert InterPodAffinity to score plugin
2019-11-09 02:43:40 -08:00
draveness
715068312a
feat(scheduler): convert InterPodAffinity to score plugin
2019-11-08 15:37:33 +08:00
Cong Liu
e438970730
Aggregate mulitple NodePreference custom priorities to a single score plugin.
2019-11-07 22:04:38 -05:00
Kubernetes Prow Robot
a82092442f
Merge pull request #84635 from danielqsj/CheckServiceAffinity
...
Migrate CheckServiceAffinity custom predicate to Filter plugin
2019-11-07 09:04:39 -08:00
danielqsj
c0bbc4ce82
Migrate CheckServiceAffinity custom predicate to Filter plugin
2019-11-07 21:46:22 +08:00
Kubernetes Prow Robot
05fea1e437
Merge pull request #84834 from ahg-g/ahg-fwk
...
Remove Framework dependency on nodeinfo snapshot
2019-11-07 04:36:29 -08:00
draveness
652baf1860
feat: update interpod affinity priority with map reduce pattern
2019-11-07 08:52:37 +08:00
Kubernetes Prow Robot
46472773cb
Merge pull request #84836 from yuxiaobo96/k8s-checks
...
Correct spelling mistakes
2019-11-06 12:21:11 -08:00
Kubernetes Prow Robot
b09b962d96
Merge pull request #84746 from Huang-Wei/move-sched-constrants
...
Move out const strings in pkg/scheduler/api/well_known_labels.go
2019-11-06 12:20:06 -08:00
Abdullah Gharaibeh
6b4bd87ba3
Remove Framework dependency on nodeinfo snapshot
2019-11-06 08:37:57 -05:00
yuxiaobo
81e9f21f83
Correct spelling mistakes
...
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2019-11-06 20:25:19 +08:00
draveness
089e85e098
feat: convert selector spread priority to score plugin
2019-11-06 15:48:29 +08:00
Wei Huang
019d7497a5
bazel files
2019-11-05 20:57:21 -08:00
Wei Huang
dd74205bcf
Move out const strings in pkg/scheduler/api/well_known_labels.go
2019-11-05 20:56:21 -08:00
Cong Liu
97d641b129
Aggregate mulitple NodePreference custom priorities to a single score plugin.
2019-11-05 16:25:19 -05:00
Abdullah Gharaibeh
134baa50b9
Convert multiple node label predicates to be a single filter plugin.
2019-11-05 10:34:51 -05:00
SataQiu
89c3673a53
scheduler: improve some comments and validation messages
2019-11-01 18:30:54 +08:00
caiweidong
fd6983c70f
simplify volume zone checker
2019-11-01 13:38:25 +08:00
Wei Huang
90603728fb
Migrate EvenPodsSpread Priority as Score plugin in map/reduce style
2019-10-31 00:52:37 -07:00
Kubernetes Prow Robot
409b468734
Merge pull request #84520 from mrkm4ntr/migrate-requested-to-capacity-ratio
...
RequestedToCapacityRatio as score plugin
2019-10-30 10:32:54 -07:00
Shintaro Murakami
4b72af9f00
RequestedToCapacityRatio as score plugin
2019-10-30 22:00:20 +09:00
Wei Huang
a4305a356c
Expose filteredNodes to func PriorityMetadataProducer
2019-10-29 18:40:47 -07:00
Abdullah Gharaibeh
c6baa263a3
Update priorities to use SharedLister instead of using the snapshot directly
2019-10-29 16:22:00 -04:00
Kubernetes Prow Robot
5f900f6332
Merge pull request #84389 from ahg-g/ahg-interpod
...
Predicates use SharedLister interface instead of NodeInfo Map
2019-10-29 13:06:53 -07:00
Cong Liu
571cea0519
Convert NodeLabelPresence custom predicate to filter plugin.
2019-10-25 19:31:17 -04:00
Abdullah Gharaibeh
05cb382357
Update PredicateMetadataProducer to accept a scheduler SharedLister instead of nodeinfomap
2019-10-25 19:19:23 -04:00
Abdullah Gharaibeh
8ec56aeafb
Change all scheduler's Node and Pod list/lookups to be from the snapshot rather than the cache.
2019-10-25 14:24:55 -04:00
Kubernetes Prow Robot
4ee1e7510f
Merge pull request #84328 from zouyee/renamefakelister
...
rename scheduler fake listers
2019-10-25 11:15:51 -07:00
zouyee
b86dbb97df
rename scheduler fake listers
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-25 13:09:01 +08:00
Jordan Liggitt
0e2f2dde4d
Feature-gate CSINode and CSIDriver informer starts
2019-10-24 17:44:25 -04:00
zouyee
3bfdcf56e6
Remove wrappers around storage-related listers in the predicate
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-24 23:26:15 +08:00
Abdullah Gharaibeh
d393804237
separate listers into their own package
2019-10-22 18:11:02 -04:00
louisgong
70ca08ec89
filter plugin for cloud provider storage predicate
2019-10-21 23:56:23 +08:00
Kubernetes Prow Robot
ac6c77c440
Merge pull request #84121 from zouyee/renamefit
...
rename FilterPlugin NodeResources
2019-10-20 20:45:37 -07:00
Kubernetes Prow Robot
019b662ff5
Merge pull request #84017 from ahg-g/ahg-csi
...
Remove CSINode from scheduler cache.
2019-10-20 03:17:37 -07:00
zouyee
04340eaa34
rename FilterPlugin NodeResources
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-20 12:51:16 +08:00
Kubernetes Prow Robot
e1685b5b59
Merge pull request #84074 from zouyee/proirity
...
LeastRequestedPriority/MostRequestedPriority/BalancedResourceAllocation as Score plugins
2019-10-19 17:21:37 -07:00
Kubernetes Prow Robot
9c25b16d88
Merge pull request #84099 from draveness/feature/remove-lister-wrapper
...
feat(scheduler): replace several algorithm listers with client listers
2019-10-19 08:05:37 -07:00
zouyee
bd4167d149
remove unused meta and rename lablance_allocated
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-19 22:43:15 +08:00
zouyee
408c9da2a6
LeastRequestedPriority/MostRequestedPriority/BalancedResourceAllocation as Score plugins
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-19 20:49:05 +08:00
draveness
00a12c787c
feat: implement node unschedulable as a filter plugin
2019-10-19 17:29:25 +08:00
draveness
e1f86e3460
feat(scheduler): replace several algorithm listers with client listers
2019-10-19 17:26:32 +08:00
Kubernetes Prow Robot
2b79d284fd
Merge pull request #84066 from Huang-Wei/eps-migration
...
Migrate EvenPodsSpread Predicate to Filter plugin
2019-10-18 21:54:12 -07:00
Abdullah Gharaibeh
a772722660
Remove CSINode from scheduler cache.
2019-10-19 03:52:22 +00:00
Wei Huang
64ff958e69
migrate EvenPodsSpread Predicate to Filter plugin
2019-10-18 14:18:02 -07:00
Shintaro Murakami
bf256bcb00
Use frameworkHandle to get listers
2019-10-19 01:29:05 +09:00
Kubernetes Prow Robot
27c679baca
Merge pull request #83982 from lichuqiang/frame_mig1
...
[migration phase 1] MatchInterPodAffinity as filter plugin
2019-10-18 09:23:58 -07:00
Kubernetes Prow Robot
422256110e
Merge pull request #84073 from draveness/feature/cleanup-framework-plugins
...
feat: several cleanups in the scheduling package
2019-10-18 04:43:57 -07:00
lichuqiang
671f7690fe
[migration phase 1] MatchInterPodAffinity as filter plugin
2019-10-18 16:26:34 +08:00
Kubernetes Prow Robot
d1a79f136b
Merge pull request #84054 from ahg-g/ahg-gp
...
GeneralPredicate as framework plugin config
2019-10-17 21:19:58 -07:00
draveness
39af760930
feat: several cleanups in the scheduling package
...
+ Remove unused variable in tests.
+ Use more common statement for interface conformance check.
+ Fix several comments in the framework plugins.
2019-10-18 11:14:05 +08:00
Kubernetes Prow Robot
91050062f9
Merge pull request #83894 from notpad/feature/migration_nodevolumelimit
...
[migration phase 1] CSIMaxVolumeLimitChecker as filter plugin
2019-10-17 19:50:41 -07:00
Abdullah Gharaibeh
517116921b
GeneralPredicate as plugin config
2019-10-17 11:13:57 -04:00
notpad
f06925b0ee
[migration phase 1] CSIMaxVolumeLimitChecker as filter plugin
2019-10-17 22:04:02 +08:00
draveness
3d74da4d53
feat(scheduler): implement node affinity as score plugin
2019-10-17 17:02:10 +08:00
draveness
47a6c5b693
feat(scheduler): use context in the scheduler package
...
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
draveness
2d7044a556
feat(scheduler): implement NodePreferAvoidPods as score plugin
2019-10-14 21:21:24 +08:00
notpad
4ff7251026
[migration phase 1] VolumeZoneChecker as filter plugin
2019-10-14 07:45:40 +08:00
Kubernetes Prow Robot
5a427e8704
Merge pull request #83659 from wgliang/scheduler-v2/pod-fits-host-ports
...
[migration phase 1] PodFitsHostPorts as filter plugin
2019-10-13 11:18:35 -07:00
Kubernetes Prow Robot
dd5cb6426d
Merge pull request #83849 from draveness/feature/node-locality-as-score-plugin
...
feat: implement imagelocality as a score plugin
2019-10-13 06:36:35 -07:00
draveness
6f6618fc5d
feat: implement imagelocality as a score plugin
2019-10-13 19:58:21 +08:00
Guoliang Wang
78be6a628d
[migration phase 1] PodFitsHostPorts as filter plugin
2019-10-13 19:47:26 +08:00
Guoliang Wang
4ca3d9ca48
[migration phase 1] PodFitsResources as framework plugin
2019-10-13 12:02:24 +08:00
Guoliang Wang
0a1808a570
[migration phase 1] PodMatchNodeSelector/NodAffinity as filter plugin
2019-10-12 14:49:55 +08:00
notpad
9e426a6be1
[migration phase 1] NoDiskConflict as filter plugin
2019-10-12 08:00:44 +08:00
Kubernetes Prow Robot
1e5a9f3ff4
Merge pull request #83522 from draveness/feature/expand-node-score-range
...
feat(scheduler): expand node score range to [0, 100]
2019-10-11 16:20:38 -07:00
draveness
1f52bd80d1
feat(scheduler): expand node score range to [0, 100]
2019-10-11 23:43:09 +08:00
Yecheng Fu
e8795562f9
[migration phase 1] Implement CheckVolumeBinding as a filter plugin
2019-10-11 20:35:11 +08:00
Guoliang Wang
b9167334ee
[migration phase 1] PodFitsHost as filter plugin
2019-10-11 17:05:04 +08:00
Kubernetes Prow Robot
c1a735c642
Merge pull request #83601 from ahg-g/ahg-migration-priority
...
Implemented taints and tolerations priority function as a Score plugin
2019-10-11 00:05:50 -07:00
Kubernetes Prow Robot
a5e6ac0a95
Merge pull request #83694 from ahg-g/ahg-adv-config
...
[migration phase 1] Make scheduler cache, volume binder and listers available when registering default plugins
2019-10-10 19:00:21 -07:00
Abdullah Gharaibeh
7429b0fe86
Implemented taints and tolerations priority function as a Score plugin
2019-10-10 17:49:40 -04:00
Abdullah Gharaibeh
456df97745
made scheduler cache and volume binder available when instantiating factories for default plugins
2019-10-10 16:21:29 -04:00
Abdullah Gharaibeh
36a0f8a03f
remove the no-op plugin that we used as an example plugin in default registry
2019-10-09 12:30:08 -04:00
Abdullah Gharaibeh
1751c251d8
Addressed comments
2019-10-08 16:13:13 -04:00
Abdullah Gharaibeh
bc550b0896
Added PredicateMetadata and PriorityMetadata as CycleState to the framework
2019-10-07 22:25:08 -04:00
Abdullah Gharaibeh
66386fdf49
Added the first predicate as a filter plugin: PodToleratesNodeTaints.
2019-10-05 08:43:17 -04:00
draveness
c73ff9749b
feat(scheduler): rename PluginContext to CycleState
2019-10-04 17:30:36 +08:00
Abdullah Gharaibeh
6120fe9b11
Convert predicates/priorities configurations to a framework plugin configs.
2019-09-30 10:36:52 -04:00
Abdullah Gharaibeh
a57ac0725a
A mapping from predicates/priorities to pluing configuration.
...
This PR only implements the mapping, but does not use it. A followup PR will use this mapping to produce a framework configuration that redirects mapped predicates/priorites to be exected as plugins.
2019-09-25 22:10:30 -04:00
Abdullah Gharaibeh
641317bdde
Updated ContextData and PluginContext with Clone methods.
...
This is necessary to be able to clone PluginContext during preemption.
2019-09-23 14:34:40 -04:00
Abdullah Gharaibeh
89f936f6ac
Modified the Filter interface to pass in nodeinfo instead of node name.
...
This is necessary to support preemption, which relies on passing modified nodeinfo objects to the filters to simulate evicting lower-priority pods.
2019-09-18 17:27:33 -04:00
yiyang5055
bbc4931ab8
fix error package name and rename struct
2019-09-17 09:11:26 +08:00
Abdullah Gharaibeh
3174d9c847
Added a noop plugin to make sure we have the dependencies worked out for the default registry of the scheduler framework.
2019-09-13 13:36:35 -04:00
draveness
af2e0428f6
feat: use PreBind instead of Prebind in the scheduling framework
2019-08-23 02:09:19 +08:00
Abdullah Gharaibeh
7b127311a4
Make thread-safe the prebind callback of stateful plugin in scheduler framework.
2019-05-08 22:19:21 -04:00
Onur Satici
1fccb933c6
make example plugins conform with the PluginFactory type
2019-05-03 21:05:52 +01:00
Onur Satici
78f7027f66
fix scheduler plugin example
2019-05-03 11:56:00 +01:00
Bobby (Babak) Salamat
83828bcb2d
autogenerated files
2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
404dc1ed79
Update scheduler framework plugins to align with the latest changes to the framework design
2019-04-29 16:40:56 -07:00