Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor kube-scheduler configuration #52428

Closed
ironcladlou opened this issue Sep 13, 2017 · 7 comments
Closed

Refactor kube-scheduler configuration #52428

ironcladlou opened this issue Sep 13, 2017 · 7 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.

Comments

@ironcladlou
Copy link
Contributor

The kube-scheduler configuration API and CLI should be refactored according to the guidelines established in #32215 and as part of the broader goals outlined in kubernetes/enhancements#115.

The scope of this issue is to deprecate all kube-scheduler flags except one new flag, --config, which specifies the location of a serialized KubeSchedulerConfiguration. The KubeSchedulerConfiguration object itself (both internal and versioned) and the component entrypoint/bootstrapping will also be refactored as necessary to bring the style in line with the proposals in #32215.

@kubernetes/sig-cluster-lifecycle-feature-requests
@kubernetes/sig-scheduling-feature-requests
@kubernetes/sig-api-machinery-feature-requests

/cc @ncdc @timothysc

@k8s-ci-robot k8s-ci-robot added sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. kind/feature Categorizes issue or PR as related to a new feature. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. labels Sep 13, 2017
@ncdc
Copy link
Member

ncdc commented Sep 13, 2017

Since you're working on it...
/assign @ironcladlou

@timothysc
Copy link
Member

/cc @bsalamat

@mbohlool
Copy link
Contributor

cc @lavalamp

@lavalamp
Copy link
Member

Why is API Machinery tagged here? Is there something wrong with configmaps?

@ncdc
Copy link
Member

ncdc commented Sep 14, 2017

It is probably more appropriate to notify kubernetes/api-reviewers (I'm purposefully omitting the leading at sign to they don't actually get notified) when the time comes. There is no proposal to move away from a config file (supplied via a configmap).

@lavalamp lavalamp removed the sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. label Sep 14, 2017
@lavalamp
Copy link
Member

Thanks. boilerplate response: SIG API Machinery doesn't own the contents of the API.

ironcladlou added a commit to ironcladlou/kubernetes that referenced this issue Nov 7, 2017
Refactor the kube-scheduler configuration API, command setup, and server
setup according to the guidelines established in kubernetes#32215 and using the
kube-proxy refactor (kubernetes#34727) as a model of a well factored component
adhering to said guidelines.

* Config API: clarify meaning and use of algorithm source by replacing
modality derived from bools and string emptiness checks with an explicit
AlgorithmSource type hierarchy.
* Config API: consolidate client connection config with common structs.
* Config API: split and simplify healthz/metrics server configuration.
* Config API: clarify leader election configuration.
* Config API: improve defaulting.
* CLI: deprecate all flags except `--config`.
* CLI: port all flags to new config API.
* CLI: refactor to match kube-proxy Cobra command style.
* Server: refactor away configurator.go to clarify application wiring.
* Server: refactor to more clearly separate wiring/setup from running.

Fixes kubernetes#52428.
k8s-github-robot pushed a commit that referenced this issue Nov 7, 2017
Automatic merge from submit-queue (batch tested with PRs 53592, 52562, 55175, 55213). 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>.

Refactor kube-scheduler config API, command, and server setup

Refactor the kube-scheduler configuration API, command setup, and server setup according to the guidelines established in #32215 and using the kube-proxy refactor (#34727) as a model of a well factored component adhering to said guidelines.

* Config API: clarify meaning and use of algorithm source by replacing modality derived from bools and string emptiness checks with an explicit AlgorithmSource type hierarchy.
* Config API: consolidate client connection config with common structs.
* Config API: split and simplify healthz/metrics server configuration.
* Config API: clarify leader election configuration.
* Config API: improve defaulting.
* CLI: deprecate all flags except `--config`.
* CLI: port all flags to new config API.
* CLI: refactor to match kube-proxy Cobra command style.
* Server: refactor away configurator.go to clarify application wiring.
* Server: refactor to more clearly separate wiring/setup from running.

Fixes #52428.

@kubernetes/api-reviewers 
@kubernetes/sig-cluster-lifecycle-pr-reviews 
@kubernetes/sig-scheduling-pr-reviews 

/cc @ncdc @timothysc @bsalamat

```release-note
The kube-scheduler command now supports a `--config` flag which is the location of a file containing a serialized scheduler configuration. Most other kube-scheduler flags are now deprecated.
```
adnavare pushed a commit to adnavare/kubernetes that referenced this issue Nov 13, 2017
Refactor the kube-scheduler configuration API, command setup, and server
setup according to the guidelines established in kubernetes#32215 and using the
kube-proxy refactor (kubernetes#34727) as a model of a well factored component
adhering to said guidelines.

* Config API: clarify meaning and use of algorithm source by replacing
modality derived from bools and string emptiness checks with an explicit
AlgorithmSource type hierarchy.
* Config API: consolidate client connection config with common structs.
* Config API: split and simplify healthz/metrics server configuration.
* Config API: clarify leader election configuration.
* Config API: improve defaulting.
* CLI: deprecate all flags except `--config`.
* CLI: port all flags to new config API.
* CLI: refactor to match kube-proxy Cobra command style.
* Server: refactor away configurator.go to clarify application wiring.
* Server: refactor to more clearly separate wiring/setup from running.

Fixes kubernetes#52428.
@warmchang
Copy link
Contributor

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.
Projects
None yet
Development

No branches or pull requests

7 participants