Skip to content

Commit ba9c231

Browse files
committed
Update wording
1 parent d824856 commit ba9c231

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

enhancements/storage/csi-migration.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,25 @@ In order to avoid surprises once the migration is enabled by default, we want to
3636

3737
## Goals
3838

39-
For Tech Preview, we want to introduce a mechanism to switch certain feature gates on and off accross OCP components.
39+
For Tech Preview, we want to introduce a mechanism to allow switching CSI migration feature flags on and off accross OCP components.
4040

41-
Once CSI migration is enabled by default in upstream, it will not be possible to disable it again. Therefore, given mechanism shall be disabled in OCP once CSI migration becomes GA in upstream.
41+
Due to upstream requirements, it is important that this mechanism allows for enabling the feature flags on control-plane components **before** the kubelet, and vice-versa.
42+
43+
Once CSI migration is enabled by default in upstream, it will not be possible to disable it again. Therefore, such mechanism shall be disabled in OCP once CSI migration becomes GA in upstream.
4244

4345
## Non-Goals
4446

45-
* Control the ordering in which OCP components will be upgraded or downgraded.
47+
* Control the ordering in which OCP components will be upgraded or downgraded. We will leave this responsability to the user.
4648
* Install or remove the CSI driver as the migration is enabled or disabled.
4749

4850
## Proposal
4951

50-
The CSI migration feature is hidden behind feature gates in Kubernetes. For instance, to enable the migration of a in-tree AWS EBS volume to its counterpart CSI driver, the cluster administrator should enable these two feature gates:
52+
The CSI migration feature is hidden behind feature gates in Kubernetes. For instance, to enable the migration of a in-tree AWS EBS volume to its counterpart CSI driver, the cluster administrator should turn on these two feature gates:
5153

5254
* CSIMigration
5355
* CSIMigrationAWS
5456

55-
CSI Migration requires that feature flags are enabled and disabled in a [specific order](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md#upgradedowngrade-migrateunmigrate-scenarios). In summary:
57+
Nevertheless, what makes things more complicated is the strict order in which those flags need to be enabled across components. In other words, CSI Migration requires that feature flags are enabled or disabled in a [specific order](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md#upgradedowngrade-migrateunmigrate-scenarios). In summary:
5658

5759
* When the CSI migration is **enabled**, events should happen in this order:
5860
1. Enable the feature gate in all control-plane components.
@@ -62,7 +64,7 @@ CSI Migration requires that feature flags are enabled and disabled in a [specifi
6264
1. One-by-one, drain the nodes and start the kubelet with the feature gate disabled.
6365
2. Once that's done, disable the feature gate in all control-plane components.
6466

65-
In order to enable and disable these feature gates in OCP, we propose two different approaches to be used at different times during the feature lifecycle.
67+
In order to achieve that, we propose two different approaches to be used at different times during the feature lifecycle.
6668

6769
The first approach is intended to be used once CSI migration is Tech Preview in OCP. The other approach should be used to once we graduate CSI migration to GA.
6870

@@ -74,7 +76,7 @@ With that in mind, we propose to:
7476

7577
1. Create two [new FeatureSets](https://github.com/openshift/api/blob/master/config/v1/types_feature.go#L25-L43) to support CSI migration: `CSIMigrationNode` and `CSIMigrationControlPlane`.
7678
* Both *FeatureSets* contain the same feature gates: `CSIMigration`, `CSIMIgrationAWS`, `CSIMigrationGCE`, `CSIMigrationAzureDisk`, `CSIMigrationAzureFile`, `CSIMigrationvSphere`, `CSIMigrationOpenStack`.
77-
* However, only control-plane operators will reacto to the `CSIMigrationControlPlane` *FeatureSet*. The machine-config-operator (MCO) will **ignore** it.
79+
* However, only control-plane operators will react to the `CSIMigrationControlPlane` *FeatureSet*. The machine-config-operator (MCO) will **ignore** it.
7880
* On the other hand, only MCO will react to the `CSIMigrationNode` *FeatureSet*. Control-plane operators will ignore it.
7981
2. To enable CSI Migration for any in-tree plugin, the cluster administrator should:
8082
* Add the `CSIMigrationControlPlane` *FeatureSet* to the `featuregates/cluster` object:
@@ -101,7 +103,7 @@ With that in mind, we propose to:
101103

102104
Once CSI migration reaches GA in upstream, the associated feature gates will be enabled by default and the features will not be optional anymore. As a result, CSI migration will be enabled by default in OCP as wel, and there will not be an option to disable it.
103105

104-
In addition that, the *FeatureSets* created to handle the Tech Preview feature will no longer be operatinal. In that case, those *FeatureSets* should be ignored by operators.
106+
In addition that, the *FeatureSets* created to handle the Tech Preview feature will no longer be operational because the feature flags will be enabled by default. In that case, those *FeatureSets* should be ignored by operators.
105107

106108
As for the required ordering described above, the [upgrade order](https://github.com/openshift/cluster-version-operator/blob/master/docs/dev/upgrades.md#generalized-ordering) performed by CVO during a cluster upgrade will take care of applying the feature gates in the correct order.
107109

@@ -133,7 +135,7 @@ Although this approach does what we need, it has some drawbacks:
133135

134136
#### E2E jobs
135137

136-
We want to create E2E jobs for all migrated plugins.
138+
We want E2E jobs for all migrated plugins ready at **Tech Preview** time.
137139

138140
For each E2E job:
139141

0 commit comments

Comments
 (0)