diff --git a/keps/prod-readiness/sig-storage/2923.yaml b/keps/prod-readiness/sig-storage/2923.yaml new file mode 100644 index 000000000000..7946909725ae --- /dev/null +++ b/keps/prod-readiness/sig-storage/2923.yaml @@ -0,0 +1,3 @@ +kep-number: 2923 +alpha: + approver: "@ehashman" \ No newline at end of file diff --git a/keps/sig-storage/2923-csi-migration-ceph-rbd/README.md b/keps/sig-storage/2923-csi-migration-ceph-rbd/README.md new file mode 100644 index 000000000000..d341b09090d8 --- /dev/null +++ b/keps/sig-storage/2923-csi-migration-ceph-rbd/README.md @@ -0,0 +1,53 @@ +# In-tree Storage Plugin to CSI Migration - Ceph RBD Design Doc + +## Table of Contents + + +- [Summary](#summary) + - [New Feature Gates](#new-feature-gates) +- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire) +- [Implementation History](#implementation-history) + + + +## Summary + +This document present as a vendor specific KEP for the parent KEP +[CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration) + +This inherits all the contents from its parent KEP. It will introduce two new feature gates to be +used as as described in its parent KEP. For all other contents, please refer to the parent KEP. + +### New Feature Gates + +- CSIMigrationCephRBD + - As describe in [CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration), + when this feature flag && the `CSIMigration` is enabled at the same time, all operations related to the + in-tree volume plugin `kubernetes.io/rbd` will be redirect to use the corresponding CSI driver. From a + user perspective, nothing will be noticed. +- InTreePluginCephRBDUnregister + - This flag technically is not part of CSI Migration design. But it happens to be related and helps with + CSI Migration. The name speaks for itself, when this flag is enabled, kubernetes will not register the + `kubernetes.io/rbd` as one of the in-tree storage plugin provisioners. This flag standalone can work out + of CSI Migration features. + - However, when all `InTreePluginCephRBDUnregister`, `CSIMigrationCephRBD` and `CSIMigration` feature + flags are enabled at the same time. The kube-controller-manager will skip the feature flag checking + on kubelet and treat Ceph RBD CSI migration as already complete. And directly redirect traffic to CSI + driver for all rbd related operations. + + +## Production Readiness Review Questionnaire + +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). + +## Implementation History + +Major milestones in the life cycle of a KEP should be tracked in `Implementation History`. + +- 2021-09-08 KEP created + +Major milestones for Ceph RBD in-tree plugin CSI migration: + +- 1.23 + - CephRBD CSI migration to Alpha + diff --git a/keps/sig-storage/2923-csi-migration-ceph-rbd/kep.yaml b/keps/sig-storage/2923-csi-migration-ceph-rbd/kep.yaml new file mode 100644 index 000000000000..d131a2e67152 --- /dev/null +++ b/keps/sig-storage/2923-csi-migration-ceph-rbd/kep.yaml @@ -0,0 +1,54 @@ +title: In-tree Storage Plugin to CSI Migration - Ceph RBD +kep-number: 2923 +authors: + - "@humblec" +owning-sig: sig-storage +participating-sigs: + - sig-cluster-lifecycle +reviewers: + - "@Jiawei0227" + - "@msau42" +approvers: + - "@msau42" +editor: "@Jiawei0227" +creation-date: 2021-09-08 +last-updated: 2021-09-08 +disable-supported: true +status: implementable +see-also: + - "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md" +prr-approvers: + - "@ehashman" +replaces: + +# The target maturity stage in the current dev cycle for this KEP. +stage: alpha + +# The most recent milestone for which work toward delivery of this KEP has been +# done. This can be the current (upcoming) milestone, if it is being actively +# worked on. +latest-milestone: "v1.23" + +# The milestone at which this feature was, or is targeted to be, at each stage. +milestone: + alpha: "v1.23" + beta: "v1.24" + +# The following PRR answers are required at alpha release +# List the feature gate name and the components for which it must be enabled +feature-gates: + - name: CSIMigrationCephRBD + components: + - kube-controller-manager + - kubelet + - kube-scheduler + - name: InTreePluginCephRBDUnregister + components: + - kube-controller-manager + - kubelet + - kube-scheduler + +# The following PRR answers are required at beta release +metrics: + - csi_sidecar_duration_operation + - storage_operation_duration_seconds \ No newline at end of file