Commit Graph

124 Commits

Author SHA1 Message Date
ravisantoshgudimetla
e2b29cd508 Scheduler should terminate when it looses leader lock 2019-08-09 15:23:28 -04:00
Kubernetes Prow Robot
619a3985d0
Merge pull request #80206 from tedyu/sched-svr-dup
Remove duplicate requestInfoResolver
2019-07-16 15:24:43 -07:00
Ted Yu
a3f06c7e23 Remove duplicate requestInfoResolver 2019-07-16 10:53:07 -07:00
Kubernetes Prow Robot
c30f024864
Merge pull request #78162 from hex108/registry
Add support for writing out of tree custom scheduler plugins
2019-07-15 23:29:24 -07:00
Yassine TIJANI
08522f8e5a move scheduler to use v1beta1.events
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-07-12 11:39:01 +02:00
Jun Gong
5828223e75 Rename PluginOption to Option 2019-07-11 17:39:48 +08:00
Fabio Bertinatto
00b0ab86af Update scheduler to use volume limits from CSINode 2019-06-25 16:30:54 +02:00
Jun Gong
107e989454 Use WithOption to implment scheduler register 2019-06-25 17:03:21 +08:00
Jun Gong
e9793c8bdb Pass registry parameter to scheduler instead of global singleton 2019-06-24 11:29:47 +08:00
Jun Gong
ea8e1e01c5 Add support for writing out of tree custom scheduler plugins 2019-06-24 10:43:47 +08:00
JieJhih Jhang
2cd5fc54a1 add scheduling framework configuration
update bazel build

fix get plugin config method

initialize only needed plugins

fix unit test

fix import duplicate package

update bazel

add docstrings

add weight field to plugin

add plugin to v1alpha1

add plugins at appropriate extension points

remove todo statement

fix import package file path

set plugin json schema

add plugin unit test to option

initial plugin in test integration

initialize only needed plugins

update bazel

rename func

change plugins needed logic

remove v1 alias

change the comment

fix alias shorter

remove blank line

change docstrings

fix map bool to struct

add some docstrings

add unreserve plugin

fix docstrings

move variable inside the for loop

make if else statement cleaner

remove plugin config from reserve plugin unit test

add plugin config and reduce unnecessary options for unit test

update bazel

fix race condition

fix permit plugin integration

change plugins to be pointer

change weight to int32

fix package alias

initial queue sort plugin

rename unreserve plugin

redesign plugin struct

update docstrings

check queue sort plugin amount

fix error message

fix condition

change plugin struct

add disabled plugin for unit test

fix docstrings

handle nil plugin set
2019-05-18 06:30:28 +08:00
Bobby (Babak) Salamat
77824f5135 Change scheduler constructors to receive a plugin registry. 2019-04-29 16:40:56 -07:00
Shintaro Murakami
28b3cff13c Remove redundant wait for cache sync 2019-04-13 08:12:33 +09:00
Marek Counts
7744f90830 Moved flag and globalflag
Moved all flag code from `staging/src/k8s.io/apiserver/pkg/util/[flag|globalflag]` to `component-base/cli/[flag|globalflag]` except for the term function because of unwanted dependencies.
2019-02-15 10:28:13 -05:00
PingWang
d8e3d11c8b Fix function comment to consistent with its name
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-11 10:51:35 +08:00
Palash Nigam
e0bbce2a8a
Add version logging to kube-scheduler
Related to: #27744
2019-01-24 10:58:41 +05:30
Kubernetes Prow Robot
26d58d37a7
Merge pull request #72970 from sttts/sttts-wait-for-http-server-finished-shutdown
apiserver: sync with http server shutdown to flush existing connections
2019-01-18 03:06:36 -08:00
Dr. Stefan Schimanski
5b47f99164 apiserver: sync with https server shutdown to flush existing connections 2019-01-18 10:56:38 +01:00
Kubernetes Prow Robot
2c8b571d57
Merge pull request #71875 from wgliang/cleanup/remove-newfrom-functions
Move users of `factory.NewConfigFactory` to `scheduler.New`
2019-01-09 13:55:51 -08:00
Guoliang Wang
3c24c99b08 Move users of factory.NewConfigFactory to scheduler.New 2019-01-09 06:40:30 +08:00
Kubernetes Prow Robot
ad579a58da
Merge pull request #72011 from ping035627/k8s-181213
Add Broadcaster.StartLogging for scheduler
2019-01-03 20:21:43 -08:00
Jordan Liggitt
73dcfe12da Stop checking VolumeScheduling feature gate 2018-12-27 17:45:45 -05:00
PingWang
ba01a6e960 Add Broadcaster.StartLogging
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

modify StartLogging to V(6)

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-12-21 08:55:48 +08:00
wangqingcan
1081e919e3 Eclass Task 1: clean up old equiv class code
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Bobby (Babak) Salamat
34b4a5bbee Add watchdog for leader election logic getting wedged 2018-11-15 11:02:14 -08:00
stewart-yu
a77652e9ab kube-scheduler: output flags in logical sections 2018-11-11 17:19:38 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Dr. Stefan Schimanski
0ba66130b3 kube-scheduler: split out cmd Run func 2018-11-08 16:43:59 +01:00
Dr. Stefan Schimanski
d91feb6d18 kube-scheduler: move stopCh creation out of scheduler factory code
Enforces clean ownership of the channel.
2018-11-08 16:43:59 +01:00
k8s-ci-robot
cf3a930938
Merge pull request #69607 from mikedanese/audctx
tokenreview: add APIAudiences config to generic API server and augment context
2018-10-15 19:03:43 -07:00
wangqingcan
608911d5ac add test for new constructor 2018-10-10 17:15:10 +08:00
wangqingcan
a74fd15e62 create a new scheduler constructor 2018-10-10 17:10:10 +08:00
Mike Danese
21fd8f2041 tokenreview: add APIAudiences config to generic API server and augment context 2018-10-09 22:47:10 -07:00
Shubheksha Jalan
564ee22123 simplify run method of kube-scheduler cmd 2018-09-26 00:39:37 +05:30
Michelle Au
e124159990 Add scheduler option for bind timeout 2018-09-04 17:25:23 -07:00
Kubernetes Submit Queue
9ea0f6c729
Merge pull request #67756 from tizhou86/newPR1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Add function comment to fix golint error in cmd/kube-scheduler/app.

**What this PR does / why we need it**:
Add function comment to fix golint error in cmd/kube-scheduler/app.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
NONE

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2018-08-31 08:58:05 -07:00
tizhou86
e0a6d6bd32 Add function comment to fix golint error in cmd/kube-scheduler/app. 2018-08-28 11:15:50 +08:00
Di Xu
7c68c585f4 use external KubeSchedulerConfiguration 2018-08-24 10:58:09 +08:00
Bobby (Babak) Salamat
abb70aee98 Add a scheduler config argument to set the percentage of nodes to score 2018-08-17 11:18:51 -07:00
xushiwei 00425595
fed8572745 use apps/v1 version for scheduler 2018-07-26 17:37:29 +08:00
Mikhail Mazurskiy
102090d1f1
Use context.TODO() to be explicit that cancellation is not implemented 2018-06-07 14:33:03 +10:00
Mikhail Mazurskiy
3252beb02b
Propagate signal from stop to context 2018-06-07 14:24:02 +10:00
Mikhail Mazurskiy
dc32a341c0
Cancellable leader election with context 2018-06-07 14:24:02 +10:00
Mikhail Mazurskiy
1d99fff1ac
Cancellable leader election with channels 2018-06-07 14:24:01 +10:00
Krzysztof Siedlecki
0e833bfc83 Fixing scheduling latency metrics 2018-05-30 11:20:12 +02:00
Dr. Stefan Schimanski
e333ba061f scheduler: remove nested retry loops 2018-05-15 13:09:55 +02:00
Dr. Stefan Schimanski
a3a52a8cf7 Revert "Revert "scheduler: align with ctrl-managers and apiservers, add https+auth in options""
This reverts commit 7b93d81a97.
2018-05-15 13:09:55 +02:00
Wojciech Tyczynski
7b93d81a97
Revert "scheduler: align with ctrl-managers and apiservers, add https+auth in options" 2018-05-03 21:05:00 +02:00
Dr. Stefan Schimanski
2af0bdb00f scheduler: add https+authn+authz to options, set to nil for now 2018-04-28 22:36:13 +02:00
Dr. Stefan Schimanski
abc8c98e35 scheduler: align plumbing with controller-manager and apiservers 2018-04-28 22:36:13 +02:00
Bobby (Babak) Salamat
a073dfdbd9 Fix scheduler Pod informers to receive events when pods are scheduled by other schedulers. 2018-04-23 11:07:53 -07:00
Kubernetes Submit Queue
1e39d68ecb
Merge pull request #62243 from resouer/fix-62068
Automatic merge from submit-queue (batch tested with PRs 59592, 62308, 62523, 62635, 62243). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Separate pod priority from preemption

**What this PR does / why we need it**:
Users request to split priority and preemption feature gate so they can use priority separately.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #62068 

**Special notes for your reviewer**:

~~I kept use `ENABLE_POD_PRIORITY` as ENV name for gce cluster scripts for backward compatibility reason. Please let me know if other approach is preffered.~~

~~This is a potential **break change** as existing clusters will be affected, we may need to include this in 1.11 maybe?~~

TODO: update this doc https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/

[Update] Usage: in config file for scheduler:
```yaml
apiVersion: componentconfig/v1alpha1
kind: KubeSchedulerConfiguration
...
disablePreemption: true
```

**Release note**:

```release-note
Split PodPriority and PodPreemption feature gate
```
2018-04-19 14:50:27 -07:00
Kubernetes Submit Queue
2c54e9ca74
Merge pull request #62515 from resouer/fix-58805
Automatic merge from submit-queue (batch tested with PRs 62481, 62643, 61877, 62515). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add write-config-to to scheduler

**What this PR does / why we need it**:
Scheduler should be able to write its default configure to file. This actually applies to all components which claims options other than `--config` will be deprecated.

Otherwise, users will be super confused to find out how to write a proper config file to these components.

See: https://stackoverflow.com/questions/47966440/how-to-create-a-config-file-for-kube-scheduler-to-use-by-the-config-argument
ref: #52562

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #58805

Usage:

```bash
./_output/bin/kube-scheduler --write-config-to /tmp/kube-scheduler.yaml
```

**Special notes for your reviewer**:
This should have been fixed several releases ago, so lets include it in 1.11

**Release note**:

```release-note
Add write-config-to to scheduler
```
2018-04-18 17:53:19 -07:00
Harry Zhang
c88cd33cf5 Add write-config-to to scheduler
Change to write provided values if config is set
2018-04-17 11:02:31 -07:00
Matthieu Maquevice
c5378a5f7c
wording 2018-04-17 09:28:32 +02:00
Harry Zhang
4f0bd4121e Disable pod preemption by config 2018-04-12 21:11:51 -07:00
Kubernetes Submit Queue
3fa28cb0e0
Merge pull request #62236 from zhangxiaoyu-zidif/fix-caps-on-schedulerName
Automatic merge from submit-queue (batch tested with PRs 61147, 62236, 62018). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

spec.SchedulerName should be spec.schedulerName in kube-scheduler help

**What this PR does / why we need it**:
spec.SchedulerName should be spec.schedulerName in kube-scheduler help
```shell
--scheduler-name string                  Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's "spec.SchedulerName". (default "default-scheduler")
```


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-10 05:31:17 -07:00
Lei Gong
4d155cf7a7 Fix some shadow declaration in cmd package
Signed-off-by: Lei Gong <lgong@alauda.io>
2018-04-09 16:58:25 +08:00
zhangxiaoyu-zidif
a7771ef58b spec.SchedulerName should be spec.schedulerName in kube-scheduler help 2018-04-07 18:06:17 +08:00
Kubernetes Submit Queue
47a1aac931
Merge pull request #61388 from zjj2wry/kube-schedule-policy-configmap-namespace
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

default use kube-system namespace as policyConfigmapNamespace

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/61368

**Special notes for your reviewer**:
cc @kubernetes/sig-scheduling-pr-reviews

**Release note**:

```release-note
fix scheduling policy on ConfigMap breaks without the --policy-configmap-namespace flag set
```
2018-04-02 00:50:22 -07:00
zhengjiajin
677d03b114 default use kube-system namespace as policyConfigmapNamespace 2018-04-02 13:48:50 +08:00
Davanum Srinivas
ba2778b17a Set leader-elect for kube-scheduler to true
Thanks to some great sleuthing by ikruglov!

kube-controller-manager defaults --leader-elect to true. We should
do the same for kube-scheduler. kube-scheduler used to have this
set to true, but it got lost during refactoring in:
efb2bb71cd
2018-03-30 10:52:01 -04:00
Davanum Srinivas
882a01ec87 Temporary fix for LeaderElect for kube-scheduler
kube-controller-manager defaults --leader-elect to true. We should
do the same for kube-scheduler. kube-scheduler used to have this
set to true, but it got lost during refactoring:

efb2bb71cd
2018-02-27 21:20:47 +00:00
hzxuzhonghu
385a61e04f kube-scheduler make use of generic apiserver profiling 2018-02-22 16:43:12 +08:00
Kubernetes Submit Queue
b3099bcf53
Merge pull request #58097 from steveperry-53/ipv6
Automatic merge from submit-queue (batch tested with PRs 59391, 58097, 60057, 60090). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add IPv6 to command options.

**What this PR does / why we need it**:
This PR adds IPv6 information to the descriptions for several command options.

[Related PR in kubernetes/website](https://github.com/kubernetes/website/pull/6498)

**Release note**:

```release-note
NONE
```
2018-02-20 13:51:32 -08:00
Davanum Srinivas
265e5ae085 Log the command line flags
With d7ddcca231, we lost the logging
of the flags. We should at least log what the command line flags
were used to start processes as those incredibly useful for trouble shooting.
2018-02-15 18:04:04 -05:00
steveperry-53
cc7cea74ae Merge branch 'master' into ipv6 2018-02-14 10:45:27 -08:00
ravisantoshgudimetla
34d35f1304 Scheduler is not able to read from config file if configmap is not present 2018-02-05 20:39:22 -05:00
steveperry-53
1a530d1884 Add IPv6 to ref page descriptions. 2018-02-01 19:29:54 +00:00
Kubernetes Submit Queue
ab788d2312
Merge pull request #58302 from deads2k/controller-05-id
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

uniquify resource lock identities

Resource lock identities on the same host were not unique.  This keeps the hostname (that's valuable), but also adds a UUID so that you can start a process twice on the same host and not end up with two processes trying to lead.

@kubernetes/sig-api-machinery-bugs @liggitt @smarterclayton
2018-01-25 11:29:40 -08:00
David Eads
25238441fd uniquify resource lock identities 2018-01-18 11:31:43 -05:00
David Eads
5d0847585b handle scheduler without exposed ports 2018-01-18 09:52:46 -05:00
David Eads
d7ddcca231 low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
Jonathan Basseri
30b89d830b Move scheduler code out of plugin directory.
This moves plugin/pkg/scheduler to pkg/scheduler and
plugin/cmd/kube-scheduler to cmd/kube-scheduler.

Bulk of the work was done with gomvpkg, except for kube-scheduler main
package.
2018-01-05 15:05:01 -08:00