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
satishbellapu
f92072b60b
Typo of PercentageOfNodesToScore
...
Corrected typos PercentageOfNodeToScore -> PercentageOfNodesToScore
2020-06-27 02:33:19 -07:00
Adhityaa Chandrasekar
1b223b861a
scheduler: run Unreserve if Reserve fails
...
If a reserve plugin's Reserve method returns an error, there could be
previously allocated resources from successfully completed reserve
plugins that must be unallocated by the corresponding Unreserve
operation. Since Unreserve operations are idempotent, this patch runs
the Unreserve operation of ALL reserve plugins when a Reserve operation
fails.
2020-06-26 20:41:33 +00:00
Kubernetes Prow Robot
b3033da9a1
Merge pull request #92200 from adtac/adtac/reserve
...
scheduler: merge Reserve and Unreserve plugins
2020-06-25 19:57:31 -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
Kubernetes Prow Robot
62b091b77f
Merge pull request #92476 from Huang-Wei/pbd-bug
...
Fix a preemption bug when pods are listed in pdb.Status.DisruptedPods
2020-06-25 09:46:08 -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
8adcd7978e
Merge pull request #92268 from alculquicondor/ext-point-profile
...
Add profile label to framework_extension_point_duration_seconds
2020-06-24 13:31:37 -07: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
Wei Huang
82ab6db94b
Pods in pdb.Status.DisruptedPods are treated as 'nonViolating' in any case
2020-06-24 11:22:31 -07:00
Wei Huang
488621815f
Fix a preemption bug when pods are matched by pdb.Status.DisruptedPods
2020-06-24 11:22:31 -07:00
Kubernetes Prow Robot
67afc8ea3c
Merge pull request #91625 from pancernik/v1beta1-extender-encoding
...
Fix API encoding inconsistencies in KubeSchedulerConfig
2020-06-24 10:31:58 -07:00
Rafal Wicha
d7c84e11f5
Fix API encoding inconsistencies in KubeSchedulerConfig
2020-06-24 09:03:35 +01:00
Yecheng Fu
f899976b41
fixup
2020-06-24 14:14:03 +08:00
Aldo Culquicondor
698eda3079
Add profile label to scheduler extension point metrics
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-23 15:30:22 -04: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
Kubernetes Prow Robot
83a15867b1
Merge pull request #92049 from Huang-Wei/postfilter-impl-3
...
[postfilter-impl-3] Register and enable the defaultpreemption plugin
2020-06-22 23:53:54 -07:00
Kubernetes Prow Robot
79a7088340
Merge pull request #92202 from alculquicondor/profile-metrics
...
Add profile label to schedule_attempts_total metric and e2e_scheduling_duration_seconds
2020-06-22 22:00:10 -07:00
Kubernetes Prow Robot
819ad44c90
Merge pull request #91603 from pancernik/v1beta1-requested-to-cap-ratio-encoding
...
Configure strict encoding for RequestedToCapacityRatioArgs
2020-06-22 21:59:41 -07: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
Aldo Culquicondor
eb9711dc1f
Add profile label to schedule_attempts_total metric
...
and e2e_scheduling_duration_seconds
Also adding result label to e2e_scheduling_duration_seconds. Previously, the metric was only updated for successful attempts
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-22 15:19:57 -04: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
Kubernetes Prow Robot
42cb4d5510
Merge pull request #92130 from chendave/InterPodAffinity_cleanup
...
cleanup: remove invalid comments in plugin of InterPodAffinity
2020-06-16 19:24:02 -07:00
Kubernetes Prow Robot
7e073db5e0
Merge pull request #91986 from denkensk/fix-pdb-preempt
...
Computing DisruptedPods of PDB in scheduling preemption
2020-06-16 19:23:03 -07: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
Alex Wang
02e4060b1b
Computing DisruptedPods of PDB in scheduling preemption
2020-06-16 10:24:55 +08:00
Kubernetes Prow Robot
1c11ff7a26
Merge pull request #92107 from Huang-Wei/fake-artifacts-refactor
...
Move scheduler fake artifacts to pkg/scheduler/testing
2020-06-15 18:14:34 -07:00
Wei Huang
dd5db75840
Move scheduler fake artifacts to pkg/scheduler/testing
...
- move some fake artifacts from pkg/scheduler/core to pkg/scheduler/testing so it can be consumed
by core as well as plugin testings
2020-06-15 10:56:06 -07:00
Wei Huang
36c8ecc98c
Refactor scheduler preempt interface
...
- replace error with NodeToStatusMap in Preempt() signature
- eliminate podPreemptor interface and expose its functions statelessly
- move logic in scheduler.go#preempt to generic_scheduler.go#Preempt()
2020-06-15 08:42:00 -07:00
Kubernetes Prow Robot
1385280afc
Merge pull request #91775 from cofyc/fix91755
...
VolumeBinding: Skip/fail fast in PreFilter phase and improve error reporting
2020-06-12 10:47:56 -07:00
Rafal Wicha
707e1eb512
Configure strict encoding for RequestedToCapacityRatioArgs
2020-06-12 14:55:32 +01:00
Kubernetes Prow Robot
b8f24173da
Merge pull request #91874 from gaurav1086/TestSchedulingQueue_Close_fix_race_condition
...
TestSchedulingQueue: Remove the unnecessary slice and for loop
2020-06-11 23:45:55 -07: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
Gaurav Singh
00f28747b3
TestSchedulingQueue_Close: Remove struct tests and the corresponding for loop
...
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
TestSchedulingQueue_Close: Remove for loop
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
remove the tests slice
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Remove struct
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Remove t.Run()
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Add function name
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Remove nested function
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Replace expectedErr with wantErr
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-06-11 11:19:14 -04:00
Kubernetes Prow Robot
6bb7e8ab83
Merge pull request #92010 from Huang-Wei/sched-fwk-expose-EventRecorder
...
Expose EventRecorder to scheduler FrameworkHandle
2020-06-10 22:44:12 -07: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
Kubernetes Prow Robot
34e19b0623
Merge pull request #91679 from tanjunchen/update-logging-20200602
...
Migrate to log calls to klog.ErroS for pkg/scheduler
2020-06-10 22:43:10 -07:00
Wei Huang
7dfabd7af6
Expose EventRecorder to scheduler FrameworkHandle
2020-06-10 18:27:21 -07:00
Kubernetes Prow Robot
17630c34cf
Merge pull request #91793 from alculquicondor/new-default-spread
...
Use PodTopologySpread for default spreading
2020-06-10 17:13:38 -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
tanjunchen
7fe9f3451f
Migrate to log calls to klog.ErroS for pkg/scheduler
2020-06-09 18:39:58 -07:00
Wei Huang
51a9dcce22
Revert "Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted"
...
This reverts commit 369a9001c6
.
2020-06-09 16:47:37 -07:00
Kubernetes Prow Robot
94833ccdf2
Merge pull request #91673 from skilxn-go/PickNodeFix
...
Fix pick-node strategy when there is no filter plugin
2020-06-09 14:49:11 -07:00
Aldo Culquicondor
170f81cff3
Use PodTopologySpread for default spreading
...
Under the feature gate DefaultPodTopologySpread, which will disable the legacy DefaultPodTopologySpread plugin from the default algorithm providers.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-09 14:59:42 -04: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
5248bef370
Merge pull request #91750 from Huang-Wei/clear-nnn
...
Fix an issue that a Pod's nominatedNodeName cannot be cleared upon node deletion
2020-06-08 21:43:58 -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
Kubernetes Prow Robot
82d27aa030
Merge pull request #91832 from ahg-g/ahg-over
...
Remove log message causing significant overhead on Preemption evaluation
2020-06-06 07:13:45 -07:00
Abdullah Gharaibeh
8bf30530e8
Remove unnecessary log message causing significant overhead on preemption evaluation
2020-06-05 16:50:25 -04:00
Wei Huang
69b9ba6012
Introduce PostFilter extension point
2020-06-05 13:23:45 -07:00
Kubernetes Prow Robot
4e3dea81c1
Merge pull request #91580 from cofyc/fix90958
...
Remove KubeSchedulerConfiguration.BindTimeoutSeconds
2020-06-05 08:45:45 -07:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API
2020-06-04 07:35:25 -07:00
Wei Huang
369a9001c6
Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted
2020-06-03 17:45:06 -07:00
gpldirk
6a26f76add
fix minor comment in podtopologyspread scoring test
2020-06-03 16:03:10 +00:00
Yecheng Fu
1ff09c0934
Remove BindTimeoutSeconds from KubeSchedulerConfiguration
2020-06-03 09:54:06 +08:00
skilxn-go
fe9d9ebce1
Fix pick-node strategy when there is no filter plugin
2020-06-03 09:12:44 +08:00
Wei Huang
133dde6358
Remove EvenPodsSpread
featuregate and related logic
2020-06-02 11:24:12 -07:00
Yecheng Fu
367f75e203
auto-generated files
2020-06-01 09:42:38 +08: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
8478c19a7f
autogen: PostFilter
2020-05-29 18:18:00 -07:00
Wei Huang
1837b49554
Scheduler PostFilter API
2020-05-29 18:18:00 -07:00
Kubernetes Prow Robot
081f97aa2b
Merge pull request #91535 from ahg-g/ahg-merge-updates
...
Merge pod condition update with setting nominated node name
2020-05-29 08:05:16 -07:00
Abdullah Gharaibeh
27caa6e727
merge pod condition update with setting nominated node name in the scheduler
2020-05-28 20:11:16 -04:00
Kubernetes Prow Robot
472a4e9ce2
Merge pull request #91448 from RainbowMango/pr_fix_metric_naming
...
update metrics to conform promlint
2020-05-28 16:38:02 -07:00
Kubernetes Prow Robot
c682b313d9
Merge pull request #91420 from pancernik/scheduler-config-v1beta1
...
Promote kubescheduler.config.k8s.io to v1betav1
2020-05-28 12:24:39 -07:00
Kubernetes Prow Robot
73641d35c7
Merge pull request #91451 from gaurav1086/scheduler_test_fix_goroutine_leak
...
scheduler_test: fix goroutine leak
2020-05-26 21:09:03 -07:00
Kubernetes Prow Robot
b0e0692490
Merge pull request #91446 from pancernik/scheduler-plugin-args-validation-nr
...
Move Node Resources scheduler plugin args validation to apis/config/validation
2020-05-26 19:13:18 -07:00
Kubernetes Prow Robot
5217fa2299
Merge pull request #91462 from lo24/fwk-typo
...
fix typo in scheduler framework
2020-05-26 16:49:05 -07:00
Rafal Wicha
3ffd71c4a2
Move Node Resources scheduler plugin args validation to apis/config/validation
2020-05-26 22:37:16 +01:00
Gaurav Singh
a4e5629320
scheduler_test: fix goroutine leak
...
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Re-use errchan from setupTestSchedulerWithOnePodOnNode
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-26 17:33:10 -04:00
Wei Huang
59eff29d22
- Add Extenders() and PluginsRunner interface to PreemptHandle
...
- Make some private functions stateless
- make addNominatedPods() not dependent on genericScheduler
- make addNominatedPods() not dependent on genericScheduler
- make selectVictimsOnNode() not dependent on genericScheduler
- make selectNodesForPreemption() not dependent on genericScheduler
2020-05-26 10:00:45 -07:00
lo24
4caae61f03
fix typo in scheduler framework
2020-05-26 16:00:22 +00:00
RainbowMango
4d8280acca
rename metric scheduler_total_preemption_attempts to scheduler_preemption_attempts_total as counter metrics should have _total suffix.
2020-05-26 20:11:42 +08:00
Rafal Wicha
852442c0ff
Promote kubescheduler.config.k8s.io to v1betav1
2020-05-25 22:25:57 +01:00
Kubernetes Prow Robot
7a30cf8046
Merge pull request #91241 from pancernik/scheduler-plugin-args-validation
...
Move Scheduler plugin args validation to apis/config/validation
2020-05-25 13:43:11 -07:00
Kubernetes Prow Robot
c5aa1eddcc
Merge pull request #91406 from zhouya0/fix_scheduler_prefilter_doc
...
Fix scheduler prefilter comment
2020-05-25 11:43:11 -07:00
Rafal Wicha
85be9c1673
Move Scheduler plugin args validation to apis/config/validation
2020-05-25 16:27:21 +01:00
zhouya0
dabd00ca4c
Fix scheduler prefilter comment
2020-05-25 17:45:44 +08: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
Yecheng Fu
8bbbe62fbd
Add versioned counterparts for VolumeBindingArgs: auto-generted files
2020-05-22 09:30:53 +08:00
Yecheng Fu
0a3d55f2e0
Add versioned counterparts for VolumeBindingArgs
2020-05-22 09:30:52 +08:00
Kubernetes Prow Robot
d871ab9690
Merge pull request #91278 from chendave/testcase
...
scheduler: Expand testcases to cover more plugin defaults
2020-05-20 19:41:39 -07:00