Skip to content

Commit

Permalink
update etcd learner mode status of kubeadm implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
pacoxu committed Sep 4, 2023
1 parent 7a5323a commit f6bc8da
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 35 deletions.
71 changes: 38 additions & 33 deletions keps/sig-cluster-lifecycle/kubeadm/3614-etcd-learner-mode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,38 +78,39 @@ tags, and then generate with `hack/update-toc.sh`.
-->

<!-- toc -->
- [Release Signoff Checklist](#release-signoff-checklist)
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [User Stories (Optional)](#user-stories-optional)
- [Story 1](#story-1)
- [Story 2](#story-2)
- [Notes/Constraints/Caveats (Optional)](#notesconstraintscaveats-optional)
- [Risks and Mitigations](#risks-and-mitigations)
- [Risk: insufficient testing by kubeadm users](#risk-insufficient-testing-by-kubeadm-users)
- [Mitigation](#mitigation)
- [Risk: unstable implementation of learner mode](#risk-unstable-implementation-of-learner-mode)
- [Mitigation](#mitigation-1)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Prerequisite testing updates](#prerequisite-testing-updates)
- [Unit tests](#unit-tests)
- [Integration tests](#integration-tests)
- [e2e tests](#e2e-tests)
- [Graduation Criteria](#graduation-criteria)
- [Alpha](#alpha)
- [Beta](#beta)
- [GA](#ga)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Version Skew Strategy](#version-skew-strategy)
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
- [Implementation History](#implementation-history)
- [Drawbacks](#drawbacks)
- [Alternatives](#alternatives)
- [Infrastructure Needed (Optional)](#infrastructure-needed-optional)
- [KEP-3614: Use etcd's learner mode in kubeadm](#kep-3614-use-etcds-learner-mode-in-kubeadm)
- [Release Signoff Checklist](#release-signoff-checklist)
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [User Stories (Optional)](#user-stories-optional)
- [Story 1](#story-1)
- [Story 2](#story-2)
- [Notes/Constraints/Caveats (Optional)](#notesconstraintscaveats-optional)
- [Risks and Mitigations](#risks-and-mitigations)
- [Risk: insufficient testing by kubeadm users](#risk-insufficient-testing-by-kubeadm-users)
- [Mitigation](#mitigation)
- [Risk: unstable implementation of learner mode](#risk-unstable-implementation-of-learner-mode)
- [Mitigation](#mitigation-1)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Prerequisite testing updates](#prerequisite-testing-updates)
- [Unit tests](#unit-tests)
- [Integration tests](#integration-tests)
- [e2e tests](#e2e-tests)
- [Graduation Criteria](#graduation-criteria)
- [Alpha](#alpha)
- [Beta](#beta)
- [GA](#ga)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Version Skew Strategy](#version-skew-strategy)
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
- [Implementation History](#implementation-history)
- [Drawbacks](#drawbacks)
- [Alternatives](#alternatives)
- [Infrastructure Needed (Optional)](#infrastructure-needed-optional)
<!-- /toc -->

## Release Signoff Checklist
Expand Down Expand Up @@ -371,12 +372,14 @@ We expect no non-infra related flakes in the last month as a GA graduation crite
- <test>: <link to test coverage>
-->

A new e2e test must be added as part of the [kubeadm dashboard](https://k8s-testgrid.appspot.com/sig-cluster-lifecycle-kubeadm). All tests in this dashboard use the [kinder](https://github.com/kubernetes/kubeadm/tree/main/kinder) tool.
[kubeadm-kinder-learner-mode-latest](https://testgrid.k8s.io/sig-cluster-lifecycle-kubeadm#kubeadm-kinder-learner-mode-latest) was added as part of the [kubeadm dashboard](https://k8s-testgrid.appspot.com/sig-cluster-lifecycle-kubeadm) since v1.27. All tests in this dashboard use the [kinder](https://github.com/kubernetes/kubeadm/tree/main/kinder) tool.

- During Alpha (disabled by default): add a new e2e test that enables the feature gate EtcdLearnerMode
- During Beta (enabled by default): modify the e2e test to test the feature gate EtcdLearnerMode as disabled
- During GA (locked to enabled): remove the e2e test as the logic will be exercised in all existing kubeadm e2e tests



### Graduation Criteria

<!--
Expand Down Expand Up @@ -519,6 +522,8 @@ Major milestones might include:
- 2022-05-10: KEP draft created
- 2022-12-17(v1.27): add the experimental (alpha) feature gate EtcdLearnerMode and initial implementation <https://github.com/kubernetes/kubernetes/pull/113318>
- 2023-01-28(v1.27): add e2e test for etcd learner mode <https://github.com/kubernetes/kubeadm/pull/2807>
- 2023-02-06(v1.27): fix a bug during etcd learner join <https://github.com/kubernetes/kubernetes/pull/115038>
- 2023-08-29(v1.29): promote EtcdLearnerMode to beta <https://github.com/kubernetes/kubernetes/pull/120228>

## Drawbacks

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ participating-sigs:
- sig-cluster-lifecycle
status: provisional
creation-date: 2022-10-12
last-updated: 2022-10-12
last-updated: 2023-09-04
reviewers:
- "@fabriziopandini"
- "@pacoxu"
approvers:
- "@fabriziopandini"
latest-milestone: "0.0"
stage: "alpha"
stage: "beta"

0 comments on commit f6bc8da

Please sign in to comment.