From f0b6977fd43d081992cc123e2b9263439d1eaed6 Mon Sep 17 00:00:00 2001 From: Jiawei Wang Date: Wed, 8 Sep 2021 16:05:02 -0700 Subject: [PATCH] KEP: create portworx csi migration kep --- keps/prod-readiness/sig-storage/2589.yaml | 3 ++ .../2589-csi-migration-portworx/README.md | 53 ++++++++++++++++++ .../2589-csi-migration-portworx/kep.yaml | 54 +++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 keps/prod-readiness/sig-storage/2589.yaml create mode 100644 keps/sig-storage/2589-csi-migration-portworx/README.md create mode 100644 keps/sig-storage/2589-csi-migration-portworx/kep.yaml diff --git a/keps/prod-readiness/sig-storage/2589.yaml b/keps/prod-readiness/sig-storage/2589.yaml new file mode 100644 index 00000000000..e5f86e3edc8 --- /dev/null +++ b/keps/prod-readiness/sig-storage/2589.yaml @@ -0,0 +1,3 @@ +kep-number: 2589 +alpha: + approver: "@ehashman" \ No newline at end of file diff --git a/keps/sig-storage/2589-csi-migration-portworx/README.md b/keps/sig-storage/2589-csi-migration-portworx/README.md new file mode 100644 index 00000000000..3b74b80b69e --- /dev/null +++ b/keps/sig-storage/2589-csi-migration-portworx/README.md @@ -0,0 +1,53 @@ +# In-tree Storage Plugin to CSI Migration - Portworx 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 + +- CSIMigrationPortworx + - 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, the in-tree volume + plugin `kubernetes.io/portworx-volume` will be redirect to use the corresponding CSI driver. From a + user perspective, nothing will be noticed. +- InTreePluginPortworxUnregister + - 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/portworx-volume` as one of the in-tree storage plugin provisioners. This flag standalone + can work out of CSI Migration features. + - However, when all `InTreePluginPortworxUnregister`, `CSIMigrationPortworx` and `CSIMigration` feature + flags are enabled at the same time. The kube-controller-manager will skip the feature flag checking + on kubelet and treat Portworx CSI migration as already complete. And directly redirect traffic to CSI + driver for all portworx 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 Portworx in-tree plugin CSI migration: + +- 1.23 + - Portworx CSI migration to Alpha + diff --git a/keps/sig-storage/2589-csi-migration-portworx/kep.yaml b/keps/sig-storage/2589-csi-migration-portworx/kep.yaml new file mode 100644 index 00000000000..ef5abc1694a --- /dev/null +++ b/keps/sig-storage/2589-csi-migration-portworx/kep.yaml @@ -0,0 +1,54 @@ +title: In-tree Storage Plugin to CSI Migration - Portworx +kep-number: 2589 +authors: + - "@trierra" +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: CSIMigrationPortworx + components: + - kube-controller-manager + - kubelet + - kube-scheduler + - name: InTreePluginPortworxUnregister + 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