Commit Graph

263 Commits

Author SHA1 Message Date
Dave Chen
9a5237ca63 Custom plugin config should take precedence over default plugin config
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-07-06 23:16:28 +08:00
Dave Chen
823a0f101a Don't return in api validation 2021-07-06 22:06:44 +08:00
Dave Chen
5ea9460234 Readable error message on the plugin configs of the removed plugins
Several plugins are removed in the v1beta2, but the legacy scheduler
config would still have the plugin configs of those removed plugins.

It was throwing raw byte data when those plugin configs are still in
place which will hard to read and understand.

Fix it by checking the removed plugin config before the validation of
the plugin args.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-07-05 17:27:46 +08:00
Jerry-Ge
2069ff9efc fix compatibiltiy_test failures 2021-07-05 16:13:00 +08:00
Jerry-Ge
29814890f6 fix compatibiltiy test 2021-07-05 15:57:24 +08:00
Kubernetes Prow Robot
25bbe2ebc5
Merge pull request #99594 from cofyc/kep1845-api
Prioritizing nodes based on volume capacity: API changes
2021-07-01 15:35:51 -07:00
Yecheng Fu
b522e95aae Prioritizing nodes based on volume capacity: API changes 2021-07-01 10:00:59 +08:00
Kubernetes Prow Robot
385402d506
Merge pull request #103082 from chrishenzie/read-write-once-pod-access-mode-scheduler
Enforce ReadWriteOncePod during scheduling
2021-06-30 16:11:36 -07:00
Chris Henzie
7ad44d04fc Enforce ReadWriteOncePod access mode during scheduling
Check the PVC ref count on the node info cache to determine if a pod's
PVCs are in use. If they are and it is using ReadWriteOncePod, fail the
request.
2021-06-30 10:40:14 -07:00
Dave Chen
1fa673c15c Extent the NodeResourcesBalancedAllocation plugin to cover more resources
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-30 11:15:12 +08:00
Kubernetes Prow Robot
e0f66be1aa
Merge pull request #101822 from yuzhiquan/NodeResourcesFit-score
Add score func for NodeResourcesFit plugin
2021-06-29 13:42:20 -07:00
yuzhiquan
deb14b995a Add score plugin for NodeResourcesFit 2021-06-29 13:16:55 -04:00
Abdullah Gharaibeh
b6a317aeaf add a function that returns default scheduler configuration 2021-06-24 11:48:35 -04:00
Abdullah Gharaibeh
265ef1741f Move scheduler plugin set and configuration defaulting to component config 2021-06-16 10:15:29 -04:00
Abdullah Gharaibeh
c13c3ebc79 Remove deprecated scheduler CLI flags hard-pod-affinity-symmetric-weight and scheduler-name 2021-06-11 10:01:42 -04:00
Kubernetes Prow Robot
8955463c17
Merge pull request #102745 from ahg-g/ahg-provider
Remove SchedulerAlgorithmSource from scheduler's internal CC API
2021-06-10 07:17:39 -07:00
Kubernetes Prow Robot
521be6344e
Merge pull request #102558 from Jerry-Ge/unroll-extenders
Unroll ScheduleAlgorithm#Extenders() to Scheduler.go
2021-06-10 07:17:27 -07:00
Jerry-Ge
110c39ef60 unroll extenders
Signed-off-by: Jerry Ge <jerry.ge@arm.com>

Co-authored-by: Huang-Wei <wei.huang1@ibm.com>
2021-06-10 08:31:44 +08:00
Abdullah Gharaibeh
52f5ba3a58 Remove SchedulerAlgorithmSource from scheduler's internal CC API 2021-06-09 19:14:54 -04:00
Abdullah Gharaibeh
183bc3cece Allow scheduler maintainers to approve changes in the internal apis pkg 2021-06-09 16:46:36 -04:00
Adhityaa Chandrasekar
3c8e56bef9 scheduler: graduate CC to v1beta2, deprecate plugins
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-06-07 12:42:55 +00:00
Haleygo
2769e99dba remove scheduler deprecated algorithm-provider flag and clean up algorithmprovider pkg 2021-05-26 13:19:44 +08:00
Aldo Culquicondor
7c50cd762a Use aliases in sig apps and scheduling APIs OWNERS
Add alculquicondor to sig-scheduling-api-reviewers and sig-apps-api-reviewers
2021-05-17 17:56:20 +00:00
Dave Chen
1e106c4650 cleanup redundant testcases
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-05-14 15:30:09 +08:00
wangyx1992
5fa9b46bf5 omit redundant alias in import
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-25 16:37:15 +08:00
Kubernetes Prow Robot
6d130d3b97
Merge pull request #100557 from chendave/validation_cleanup
Validate plugin config for KubeSchedulerConfiguration
2021-04-14 18:20:01 -07:00
Dave Chen
c6e65079c7 Validate plugin config for KubeSchedulerConfiguration
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-14 09:30:20 +08:00
卢振兴10069964
5ddb1be59a code cleanup for pkg/scheduler 2021-04-13 08:16:16 +08:00
Kubernetes Prow Robot
ad84094a8f
Merge pull request #100477 from chendave/validation_noderesource
Move NodeResourcesFit plugin args validation to apis/config/validation
2021-04-08 22:09:56 -07:00
Dave Chen
a0d93cc0c8 Move NodeResourcesFit plugin args validation to apis/config/validation
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-23 16:09:53 +08:00
Dave Chen
4c5c349165 Update comments for the resource weight of RequestedToCapacityRatio plugin
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-13 14:27:59 +08:00
Dave Chen
b8394c4700 Move VolumeBinding plugin args validation to apis/config/validation
This PR also looses the check to allow zero since the API doc has
explained that value zero indicates no waiting.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-06 11:06:39 +08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Mengxue Zhang
4fb8e343c0 parse pod's node affinity once in preFilter 2021-02-25 00:21:32 +00:00
xiaofei.sun
fd62f32125 Scheduler: remove pkg/apis/core/field_constants.go 2021-02-24 18:06:29 +08:00
drfish
74315f9c56 Change config.Plugins from pointers to objects 2021-02-10 23:45:59 +08:00
Ling Samuel
a1f8dc41ef
make labels.NewRequirement returns aggregated field.ErrorList, make nodeaffinity parsing function use it
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2021-01-11 16:23:53 +08:00
KeZhang
fca0636090 cleanup unused constants for deprecated flags 2020-12-16 15:00:52 +08:00
Aldo Culquicondor
4736b396f9 Return field.Errors from node affinity parsing
Change-Id: Id91dfb29b9f0322e2ff6035387a0a3df92b5db37
2020-12-09 13:47:07 -05:00
Kubernetes Prow Robot
5996839425
Merge pull request #96745 from lingsamuel/scheduler-validation
Use field.Error(s) in scheduler plugin args validation
2020-12-09 02:10:50 -08:00
Ling Samuel
77f0f442a1
Use field.Error(s) in scheduler plugin args validation
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2020-12-02 08:49:33 +08:00
SataQiu
2b38078de1 scheduler: parse Pod's Node affinity once in PreScore phase
Signed-off-by: SataQiu <1527062125@qq.com>
2020-11-26 11:19:52 +08:00
Kubernetes Prow Robot
ae95984e88
Merge pull request #96426 from damemi/print-scheduler-config
Log defaulted kube-scheduler component config at startup
2020-11-12 16:03:01 -08:00
Kubernetes Prow Robot
3e43d5b92a
Merge pull request #96292 from wangyx1992/cleanup-scheduler-log-capatilization
cleanup: fix log capitalization in scheduler
2020-11-12 11:20:45 -08:00
Yixiang2019
842cc6b4e2 cleanup: fix log capitalization in scheduler
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-11-12 20:10:26 +08:00
Wei Huang
47a7c374c6
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy 2020-11-10 17:48:32 -08:00
Aldo Culquicondor
d6ef6d6e43 Capture defaulted plugin configs from framework
Some plugin configs are not produced until the framework is instantiated. Add a callback to capture them inside the framework constructor.

Change-Id: Id3f709b6461ccd0eafec7d21412cda093d9c4645
2020-11-10 19:41:18 -05:00
Aldo Culquicondor
3ce145787a Add AddedAffinity to the NodeAffinityArgs
And use it in Filter and Score.

Change-Id: I173d8f2d5578762e9873181d5b44ea30b6dbbbc2
2020-11-09 15:19:15 -05:00
Kubernetes Prow Robot
bd95fb101d
Merge pull request #94814 from adtac/preemption2
optimise defaultpreemption: enumerate fewer candidates
2020-11-05 21:18:50 -08:00
Kubernetes Prow Robot
3222053798
Merge pull request #96010 from serathius/datapolicy-scheduler-pkg
Add datapolicy tags to pkg/scheduler/
2020-11-05 06:31:35 -08:00
Adhityaa Chandrasekar
a3d94b53ca optimise defaultpreemption: enumerate fewer candidates
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-11-04 22:39:58 +00:00
Kubernetes Prow Robot
d0bee69fc9
Merge pull request #94636 from hprateek43/cpu_threads_parameter
Added config parameter for CPU threads
2020-10-29 21:04:05 -07:00
Marek Siarkowicz
899b9c1f74 Add datapolicy tags to pkg/scheduler/ 2020-10-29 18:24:41 +01:00
Harsh Singh
1763688d71 Added config parameter for CPU threads 2020-10-29 12:16:10 +05:30
tangwz
5f3efa671d scheduler: make Profile an interface. 2020-10-27 09:13:04 +08:00
Aldo Culquicondor
87c8349bdc Graduate DefaultPodTopologySpread to beta
And set to enabled by default

Change-Id: Ie4cc4758c52492924cb0663450f2747908cb5882
2020-10-19 16:58:09 -04:00
He Jie Xu
6e55b88725 Reorder default Filter plugins to have UnschedulableAndUnresolvable first 2020-10-14 09:40:51 +00:00
Aldo Culquicondor
c8a0b9e8e7 Add defaultingType to PodTopologySpreadArgs
Change-Id: Ibf6a4fdb39a31fe9deed68de7e7cb24a9bf9d06a
2020-10-09 17:12:12 -04:00
Aldo Culquicondor
e856706984 Tests for empty constraints array when DefaultPodTopologySpread is enabled
An empty array in the configuration signifies that the user operator intends to disable the k8s provided default for TopologyPodSpread.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Ib4696a49f0ba748183aef417b0882d494b89f602
2020-09-17 14:55:53 -04:00
wojtekt
805c1753cd Migrate scheduler, controller-manager and cloud-controller-manager to lease lock. 2020-09-10 11:57:18 +02:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -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
Wei Huang
d65a97848e
codegen 2020-07-08 09:58:42 -07:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00
Kubernetes Prow Robot
1c658d2ae8
Merge pull request #92568 from satishbellapu/master
Typo of PercentageOfNodesToScore
2020-06-30 00:03:25 -07:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
satishbellapu
f92072b60b Typo of PercentageOfNodesToScore
Corrected typos PercentageOfNodeToScore -> PercentageOfNodesToScore
2020-06-27 02:33:19 -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
Rafal Wicha
d7c84e11f5 Fix API encoding inconsistencies in KubeSchedulerConfig 2020-06-24 09:03:35 +01:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +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
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
Rafal Wicha
707e1eb512 Configure strict encoding for RequestedToCapacityRatioArgs 2020-06-12 14:55:32 +01: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
Wen Gao
b21b298074 add arg for noderesourcesfit plugin to support ignore a group of extended resources 2020-06-10 10:52:54 +08: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
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Kubernetes Prow Robot
4e3dea81c1
Merge pull request #91580 from cofyc/fix90958
Remove KubeSchedulerConfiguration.BindTimeoutSeconds
2020-06-05 08:45:45 -07:00
Yecheng Fu
1ff09c0934 Remove BindTimeoutSeconds from KubeSchedulerConfiguration 2020-06-03 09:54:06 +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
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
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
Rafal Wicha
3ffd71c4a2 Move Node Resources scheduler plugin args validation to apis/config/validation 2020-05-26 22:37:16 +01: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
Rafal Wicha
85be9c1673 Move Scheduler plugin args validation to apis/config/validation 2020-05-25 16:27:21 +01: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
7ba332a839
Merge pull request #91258 from alculquicondor/double_spread_weight
Set weight of PodTopologySpread Score to 2
2020-05-19 23:40:42 -07:00
Aldo Culquicondor
9819b25a44 Set weight of PodTopologySpread Score to 2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-19 12:08:38 -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
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
738e557f2c
Merge pull request #91083 from KobayashiD27/Add-test-to-scheduler-apis-config-types-test
Add test case in scheduler/apis/config/types_test.go to improve the t…
2020-05-15 23:01:49 -07:00