From 13dcceac56df39501a07ceaf1dbf0ccabe13208b Mon Sep 17 00:00:00 2001 From: Aldo Culquicondor Date: Mon, 18 May 2020 15:25:35 -0400 Subject: [PATCH] Update Scheduler Component Config KEP to new template Signed-off-by: Aldo Culquicondor --- .../README.md | 137 +++++++++++++++++- .../kep.yaml | 6 + 2 files changed, 138 insertions(+), 5 deletions(-) diff --git a/keps/sig-scheduling/785-scheduler-component-config-api/README.md b/keps/sig-scheduling/785-scheduler-component-config-api/README.md index a11d65303ea..430715e7d6f 100644 --- a/keps/sig-scheduling/785-scheduler-component-config-api/README.md +++ b/keps/sig-scheduling/785-scheduler-component-config-api/README.md @@ -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) ## 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 @@ -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, diff --git a/keps/sig-scheduling/785-scheduler-component-config-api/kep.yaml b/keps/sig-scheduling/785-scheduler-component-config-api/kep.yaml index 36a81dcb6e7..5ee2219e7c9 100644 --- a/keps/sig-scheduling/785-scheduler-component-config-api/kep.yaml +++ b/keps/sig-scheduling/785-scheduler-component-config-api/kep.yaml @@ -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"