Skip to content

Commit

Permalink
Merge pull request #1794 from alculquicondor/beta-sched-cc
Browse files Browse the repository at this point in the history
Update Scheduler Component Config KEP to new template
  • Loading branch information
k8s-ci-robot authored May 19, 2020
2 parents 1aba0a1 + 13dccea commit 6efcfc6
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 5 deletions.
137 changes: 132 additions & 5 deletions keps/sig-scheduling/785-scheduler-component-config-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,25 @@
- [Test Plan](#test-plan)
- [Graduation Criteria](#graduation-criteria)
- [Alpha -> Beta Graduation](#alpha---beta-graduation)
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
- [Feature enablement and rollback](#feature-enablement-and-rollback)
- [Rollout, Upgrade and Rollback Planning](#rollout-upgrade-and-rollback-planning)
- [Monitoring requirements](#monitoring-requirements)
- [Dependencies](#dependencies)
- [Scalability](#scalability)
- [Troubleshooting](#troubleshooting)
- [Implementation History](#implementation-history)
<!-- /toc -->

## Release Signoff Checklist

- [x] Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
- [x] KEP approvers have approved the KEP status as `implementable`
- [x] Design details are appropriately documented
- [x] Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
- [x] Graduation criteria is in place
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
- [x] (R) KEP approvers have approved the KEP status as `implementable`
- [x] (R) Design details are appropriately documented
- [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
- [x] (R) Graduation criteria is in place
- [x] (R) Production readiness review completed
- [ ] Production readiness review approved
- [ ] "Implementation History" section is up-to-date for milestone
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
- [ ] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
Expand Down Expand Up @@ -103,6 +112,124 @@ This will be documented in https://kubernetes.io/docs/reference/scheduling/profi
- Complete features listed in [proposal][#proposal].
- Tests in [test plan](#test-plan)

## Production Readiness Review Questionnaire

### Feature enablement and rollback

* **How can this feature be enabled / disabled in a live cluster?**

Operators can use the config API via `--config` command line flag for
`kube-scheduler`. To disable, operators can remove `--config` flag and use
other command line flags to configure the scheduler.

* **Does enabling the feature change any default behavior?**

No

* **Can the feature be disabled once it has been enabled (i.e. can we rollback
the enablement)?**

By removing `--config` command line flag for `kube-scheduler`.

* **What happens if we reenable the feature if it was previously rolled back?**

N/A.

* **Are there any tests for feature enablement/disablement?**

The e2e framework does not currently support changing configuration files.

### Rollout, Upgrade and Rollback Planning

* **How can a rollout fail? Can it impact already running workloads?**

A malformed configuration will cause the scheduler to fail to start.
Running workloads are not affected.

* **What specific metrics should inform a rollback?**

Metric "schedule_attempts_total" remaining at zero when new pods are added.

* **Were upgrade and rollback tested? Was upgrade->downgrade->upgrade path tested?**

N/A.

* **Is the rollout accompanied by any deprecations and/or removals of features,
APIs, fields of API types, flags, etc.?**

Configuration API `kubescheduler.config.k8s.io/v1alpha2` is removed.

### Monitoring requirements

* **How can an operator determine if the feature is in use by workloads?**

N/A.

* **What are the SLIs (Service Level Indicators) an operator can use to
determine the health of the service?**

N/A.

* **What are the reasonable SLOs (Service Level Objectives) for the above SLIs?**

N/A.

* **Are there any missing metrics that would be useful to have to improve
observability if this feature?**

N/A.

### Dependencies

* **Does this feature depend on any specific services running in the cluster?**

No.


### Scalability

* **Will enabling / using this feature result in any new API calls?**

No

* **Will enabling / using this feature result in introducing new API types?**

No.

* **Will enabling / using this feature result in any new calls to cloud
provider?**

No.

* **Will enabling / using this feature result in increasing size or count
of the existing API objects?**

No.

* **Will enabling / using this feature result in increasing time taken by any
operations covered by [existing SLIs/SLOs][]?**

No.

* **Will enabling / using this feature result in non-negligible increase of
resource usage (CPU, RAM, disk, IO, ...) in any components?**

No.

### Troubleshooting

* **How does this feature react if the API server and/or etcd is unavailable?**

N/A.

* **What are other known failure modes?**

Configuration errors are logged to stderr.

* **What steps should be taken if SLOs are not being met to determine the problem?**

N/A.

## Implementation History

- 2020-05-08: KEP for beta graduation sent for review, including motivation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,14 @@ status: implementable
creation-date: 2020-05-08
reviewers:
- "@Huang-Wei"
- "@wojtek-t"
approvers:
- "@ahg-g"
- "@liggitt"
see-also:
- "/keps/sig-scheduling/1451-multi-scheduling-profiles"
stage: beta
latest-milestone: "v1.19"
milestone:
beta: "v1.19"
stable: "v1.21"

0 comments on commit 6efcfc6

Please sign in to comment.