Skip to content

Commit 4a4a51b

Browse files
authored
Merge pull request kubernetes#3125 from Jiawei0227/vsphere
KEP-1491: add csi migration kep for vsphere
2 parents c5845a6 + e1b9fc0 commit 4a4a51b

File tree

3 files changed

+115
-0
lines changed

3 files changed

+115
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kep-number: 1491
2+
beta:
3+
approver: "@wojtek-t"
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# In-tree Storage Plugin to CSI Migration - vSphere Design Doc
2+
3+
## Table of Contents
4+
5+
<!-- toc -->
6+
- [Summary](#summary)
7+
- [New Feature Gates](#new-feature-gates)
8+
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
9+
- [Implementation History](#implementation-history)
10+
<!-- /toc -->
11+
12+
13+
## Summary
14+
15+
This document present as a vendor specific KEP for the parent KEP
16+
[CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration)
17+
18+
This inherits all the contents from its parent KEP. It will introduce two new feature gates to be
19+
used as as described in its parent KEP. For all other contents, please refer to the parent KEP.
20+
21+
### New Feature Gates
22+
23+
- CSIMigrationvSphere
24+
- As describe in [CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration),
25+
when this feature flag && the `CSIMigration` is enabled at the same time, all operations related to the
26+
in-tree volume plugin `kubernetes.io/vsphere-volume` will be redirect to use the corresponding CSI driver. From a
27+
user perspective, nothing will be noticed.
28+
- InTreePluginvSphereUnregister
29+
- This flag technically is not part of CSI Migration design. But it happens to be related and helps with
30+
CSI Migration. The name speaks for itself, when this flag is enabled, kubernetes will not register the
31+
`kubernetes.io/vsphere-volume` as one of the in-tree storage plugin provisioners. This flag standalone can work out
32+
of CSI Migration features.
33+
- However, when all `InTreePluginvSphereUnregister`, `CSIMigrationvSphere` and `CSIMigration` feature
34+
flags are enabled at the same time. The kube-controller-manager will skip the feature flag checking
35+
on kubelet and treat vSphere CSI migration as already complete. And directly redirect traffic to CSI
36+
driver for all vsphere volume related operations.
37+
38+
39+
## Production Readiness Review Questionnaire
40+
41+
Please refer to the [CSI Migration Production Readiness Review Questionnaire](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration#production-readiness-review-questionnaire).
42+
43+
## Implementation History
44+
45+
Major milestones in the life cycle of a KEP should be tracked in `Implementation History`.
46+
47+
- 2022-01-11 KEP created
48+
49+
Major milestones for vSphere in-tree plugin CSI migration:
50+
51+
- 1.18
52+
- vSphere CSI migration to Alpha
53+
54+
- 1.19
55+
- vSphere CSI migration to Beta, off by default
56+
57+
- 1.24
58+
- vSphere CSI migration to Beta, on by default
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
title: In-tree Storage Plugin to CSI Migration - vSphere
2+
kep-number: 1491
3+
authors:
4+
- "@divyenpatel"
5+
owning-sig: sig-storage
6+
participating-sigs:
7+
- sig-cluster-lifecycle
8+
reviewers:
9+
- "@Jiawei0227"
10+
- "@msau42"
11+
approvers:
12+
- "@msau42"
13+
editor: "@Jiawei0227"
14+
creation-date: 2022-01-11
15+
last-updated: 2022-01-11
16+
disable-supported: true
17+
status: implementable
18+
see-also:
19+
- "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md"
20+
prr-approvers:
21+
- "@wojtek-t"
22+
replaces:
23+
24+
# The target maturity stage in the current dev cycle for this KEP.
25+
stage: beta
26+
27+
# The most recent milestone for which work toward delivery of this KEP has been
28+
# done. This can be the current (upcoming) milestone, if it is being actively
29+
# worked on.
30+
latest-milestone: "v1.24"
31+
32+
# The milestone at which this feature was, or is targeted to be, at each stage.
33+
milestone:
34+
alpha: "v1.18"
35+
beta: "v1.19"
36+
37+
# The following PRR answers are required at alpha release
38+
# List the feature gate name and the components for which it must be enabled
39+
feature-gates:
40+
- name: CSIMigrationvSphere
41+
components:
42+
- kube-controller-manager
43+
- kubelet
44+
- kube-scheduler
45+
- name: InTreePluginvSphereUnregister
46+
components:
47+
- kube-controller-manager
48+
- kubelet
49+
- kube-scheduler
50+
51+
# The following PRR answers are required at beta release
52+
metrics:
53+
- csi_sidecar_duration_operation
54+
- storage_operation_duration_seconds

0 commit comments

Comments
 (0)