Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KEP-2589: Portworx CSI Migration #2964

Merged
merged 1 commit into from
Sep 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions keps/prod-readiness/sig-storage/2589.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
kep-number: 2589
alpha:
approver: "@ehashman"
53 changes: 53 additions & 0 deletions keps/sig-storage/2589-csi-migration-portworx/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# In-tree Storage Plugin to CSI Migration - Portworx Design Doc

## Table of Contents

<!-- toc -->
- [Summary](#summary)
- [New Feature Gates](#new-feature-gates)
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
- [Implementation History](#implementation-history)
<!-- /toc -->


## 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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as #2963 (comment)

- 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

54 changes: 54 additions & 0 deletions keps/sig-storage/2589-csi-migration-portworx/kep.yaml
Original file line number Diff line number Diff line change
@@ -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