diff --git a/keps/prod-readiness/sig-storage/1489.yaml b/keps/prod-readiness/sig-storage/1489.yaml new file mode 100644 index 00000000000..288c56f28d4 --- /dev/null +++ b/keps/prod-readiness/sig-storage/1489.yaml @@ -0,0 +1,3 @@ +kep-number: 1489 +stable: + approver: "@wojtek-t" \ No newline at end of file diff --git a/keps/sig-storage/1489-csi-migration-cinder/README.md b/keps/sig-storage/1489-csi-migration-cinder/README.md new file mode 100644 index 00000000000..dfd30d57666 --- /dev/null +++ b/keps/sig-storage/1489-csi-migration-cinder/README.md @@ -0,0 +1,61 @@ +# In-tree Storage Plugin to CSI Migration - OpenStack Cinder 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 + +- CSIMigrationOpenStack + - 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/cinder` will be redirect to use the corresponding CSI driver. From a + user perspective, nothing will be noticed. +- InTreePluginOpenStackUnregister + - 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/cinder` as one of the in-tree storage plugin provisioners. This flag standalone can work out + of CSI Migration features. + - However, when all `InTreePluginOpenStackUnregister`, `CSIMigrationOpenStack` and `CSIMigration` feature + flags are enabled at the same time. The kube-controller-manager will skip the feature flag checking + on kubelet and treat OpenStack Cinder CSI migration as already complete. And directly redirect traffic to CSI + driver for all OpenStack Cinder 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`. + +- 2022-01-11 KEP created + +Major milestones for OpenStack Cinder in-tree plugin CSI migration: + +- 1.14 + - OpenStack Cinder CSI migration to Alpha + +- 1.18 + - OpenStack Cinder CSI migration to Beta, off by default + +- 1.21 + - OpenStack Cinder CSI migration to Beta, on by default + +- 1.24 + - OpenStack Cinder CSI migration to GA \ No newline at end of file diff --git a/keps/sig-storage/1489-csi-migration-cinder/kep.yaml b/keps/sig-storage/1489-csi-migration-cinder/kep.yaml new file mode 100644 index 00000000000..9b41d20ce7f --- /dev/null +++ b/keps/sig-storage/1489-csi-migration-cinder/kep.yaml @@ -0,0 +1,55 @@ +title: In-tree Storage Plugin to CSI Migration - Cinder +kep-number: 1489 +authors: + - "@jsafrane" +owning-sig: sig-storage +participating-sigs: + - sig-cluster-lifecycle +reviewers: + - "@Jiawei0227" + - "@msau42" +approvers: + - "@msau42" +editor: "@Jiawei0227" +creation-date: 2022-01-11 +last-updated: 2022-01-11 +disable-supported: true +status: implementable +see-also: + - "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md" +prr-approvers: + - "@wojtek-t" +replaces: + +# The target maturity stage in the current dev cycle for this KEP. +stage: stable + +# 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.24" + +# The milestone at which this feature was, or is targeted to be, at each stage. +milestone: + alpha: "v1.14" + beta: "v1.18" + stable: "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: CSIMigrationOpenStack + components: + - kube-controller-manager + - kubelet + - kube-scheduler + - name: InTreePluginOpenStackUnregister + 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