Skip to content

Commit 18b5efc

Browse files
authored
Merge pull request kubernetes#110410 from Jiawei0227/master
CSIMigration feature gate to GA
2 parents 2314413 + 760365d commit 18b5efc

File tree

22 files changed

+29
-172
lines changed

22 files changed

+29
-172
lines changed

pkg/apis/storage/validation/validation.go

+1-8
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ import (
3131
"k8s.io/kubernetes/pkg/apis/core/helper"
3232
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
3333
"k8s.io/kubernetes/pkg/apis/storage"
34-
35-
utilfeature "k8s.io/apiserver/pkg/util/feature"
36-
"k8s.io/kubernetes/pkg/features"
3734
)
3835

3936
const (
@@ -179,11 +176,7 @@ func validateVolumeAttachmentSource(source *storage.VolumeAttachmentSource, fldP
179176
allErrs := field.ErrorList{}
180177
switch {
181178
case source.InlineVolumeSpec == nil && source.PersistentVolumeName == nil:
182-
if utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
183-
allErrs = append(allErrs, field.Required(fldPath, "must specify exactly one of inlineVolumeSpec and persistentVolumeName"))
184-
} else {
185-
allErrs = append(allErrs, field.Required(fldPath, "must specify persistentVolumeName when CSIMigration feature is disabled"))
186-
}
179+
allErrs = append(allErrs, field.Required(fldPath, "must specify exactly one of inlineVolumeSpec and persistentVolumeName"))
187180
case source.InlineVolumeSpec != nil && source.PersistentVolumeName != nil:
188181
allErrs = append(allErrs, field.Forbidden(fldPath, "must specify exactly one of inlineVolumeSpec and persistentVolumeName"))
189182
case source.PersistentVolumeName != nil:

pkg/apis/storage/validation/validation_test.go

-38
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,8 @@ import (
2323

2424
"k8s.io/apimachinery/pkg/api/resource"
2525
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26-
utilfeature "k8s.io/apiserver/pkg/util/feature"
27-
featuregatetesting "k8s.io/component-base/featuregate/testing"
2826
api "k8s.io/kubernetes/pkg/apis/core"
2927
"k8s.io/kubernetes/pkg/apis/storage"
30-
"k8s.io/kubernetes/pkg/features"
3128
utilpointer "k8s.io/utils/pointer"
3229
)
3330

@@ -158,7 +155,6 @@ func TestValidateStorageClass(t *testing.T) {
158155
}
159156

160157
func TestVolumeAttachmentValidation(t *testing.T) {
161-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
162158
volumeName := "pv-name"
163159
empty := ""
164160
migrationEnabledSuccessCases := []storage.VolumeAttachment{
@@ -384,43 +380,9 @@ func TestVolumeAttachmentValidation(t *testing.T) {
384380
t.Errorf("expected failure for test: %v", volumeAttachment)
385381
}
386382
}
387-
388-
// validate with CSIMigration disabled
389-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, false)()
390-
391-
migrationDisabledSuccessCases := []storage.VolumeAttachment{
392-
{
393-
// PVName specified with migration disabled
394-
ObjectMeta: metav1.ObjectMeta{Name: "foo"},
395-
Spec: storage.VolumeAttachmentSpec{
396-
Attacher: "myattacher",
397-
NodeName: "node",
398-
Source: storage.VolumeAttachmentSource{
399-
PersistentVolumeName: &volumeName,
400-
},
401-
},
402-
},
403-
{
404-
// InlineSpec specified with migration disabled
405-
ObjectMeta: metav1.ObjectMeta{Name: "foo"},
406-
Spec: storage.VolumeAttachmentSpec{
407-
Attacher: "myattacher",
408-
NodeName: "node",
409-
Source: storage.VolumeAttachmentSource{
410-
InlineVolumeSpec: &inlineSpec,
411-
},
412-
},
413-
},
414-
}
415-
for _, volumeAttachment := range migrationDisabledSuccessCases {
416-
if errs := ValidateVolumeAttachment(&volumeAttachment); len(errs) != 0 {
417-
t.Errorf("expected success: %v %v", volumeAttachment, errs)
418-
}
419-
}
420383
}
421384

422385
func TestVolumeAttachmentUpdateValidation(t *testing.T) {
423-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
424386
volumeName := "foo"
425387
newVolumeName := "bar"
426388

pkg/controller/volume/attachdetach/attach_detach_controller.go

+2-5
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ import (
5454
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/statusupdater"
5555
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/util"
5656
"k8s.io/kubernetes/pkg/controller/volume/common"
57-
"k8s.io/kubernetes/pkg/features"
5857
proxyutil "k8s.io/kubernetes/pkg/proxy/util"
5958
"k8s.io/kubernetes/pkg/volume"
6059
"k8s.io/kubernetes/pkg/volume/csi"
@@ -138,10 +137,8 @@ func NewAttachDetachController(
138137
filteredDialOptions: filteredDialOptions,
139138
}
140139

141-
if utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
142-
adc.csiNodeLister = csiNodeInformer.Lister()
143-
adc.csiNodeSynced = csiNodeInformer.Informer().HasSynced
144-
}
140+
adc.csiNodeLister = csiNodeInformer.Lister()
141+
adc.csiNodeSynced = csiNodeInformer.Informer().HasSynced
145142

146143
adc.csiDriverLister = csiDriverInformer.Lister()
147144
adc.csiDriversSynced = csiDriverInformer.Informer().HasSynced

pkg/controller/volume/attachdetach/attach_detach_controller_test.go

-1
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,6 @@ func volumeAttachmentRecoveryTestCase(t *testing.T, tc vaTest) {
431431
informerFactory := informers.NewSharedInformerFactory(fakeKubeClient, time.Second*1)
432432
var plugins []volume.VolumePlugin
433433

434-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, tc.csiMigration)()
435434
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationGCE, tc.csiMigration)()
436435
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InTreePluginGCEUnregister, tc.csiMigration)()
437436

pkg/controller/volume/attachdetach/util/util.go

-7
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ import (
2424
v1 "k8s.io/api/core/v1"
2525
"k8s.io/apimachinery/pkg/types"
2626
"k8s.io/apimachinery/pkg/util/sets"
27-
utilfeature "k8s.io/apiserver/pkg/util/feature"
2827
corelisters "k8s.io/client-go/listers/core/v1"
2928
"k8s.io/component-helpers/storage/ephemeral"
3029
"k8s.io/klog/v2"
3130
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache"
32-
"k8s.io/kubernetes/pkg/features"
3331
"k8s.io/kubernetes/pkg/volume"
3432
"k8s.io/kubernetes/pkg/volume/csimigration"
3533
"k8s.io/kubernetes/pkg/volume/util"
@@ -315,11 +313,6 @@ func translateInTreeSpecToCSIIfNeeded(spec *volume.Spec, nodeName types.NodeName
315313
}
316314

317315
func isCSIMigrationSupportedOnNode(nodeName types.NodeName, spec *volume.Spec, vpm *volume.VolumePluginMgr, csiMigratedPluginManager csimigration.PluginManager) (bool, error) {
318-
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
319-
// If CSIMigration is disabled, CSI migration paths will not be taken for the node.
320-
return false, nil
321-
}
322-
323316
pluginName, err := csiMigratedPluginManager.GetInTreePluginNameFromSpec(spec.PersistentVolume, spec.Volume)
324317
if err != nil {
325318
return false, err

pkg/controller/volume/expand/expand_controller_test.go

-2
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,8 @@ func TestSyncHandler(t *testing.T) {
126126
}
127127

128128
if test.csiMigrationEnabled {
129-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
130129
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationAWS, true)()
131130
} else {
132-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, false)()
133131
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationAWS, false)()
134132
}
135133

pkg/controller/volume/persistentvolume/pv_controller_test.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,6 @@ func makeStorageClass(scName string, mode *storagev1.VolumeBindingMode) *storage
471471
}
472472

473473
func TestAnnealMigrationAnnotations(t *testing.T) {
474-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
475-
476474
const testPlugin = "non-migrated-plugin"
477475
const gcePlugin = "kubernetes.io/gce-pd"
478476
const gceDriver = "pd.csi.storage.gke.io"
@@ -687,7 +685,7 @@ func TestModifyDeletionFinalizers(t *testing.T) {
687685
volumeAnnotations: map[string]string{volume.AnnDynamicallyProvisioned: gcePlugin, volume.AnnMigratedTo: gceDriver},
688686
expVolumeFinalizers: []string{volume.PVDeletionProtectionFinalizer},
689687
expModified: true,
690-
migratedDriverGates: []featuregate.Feature{features.CSIMigration, features.CSIMigrationGCE},
688+
migratedDriverGates: []featuregate.Feature{features.CSIMigrationGCE},
691689
},
692690
{
693691
// csi-migration is not completely enabled as the specific plugin feature is not present. This is equivalent
@@ -696,7 +694,7 @@ func TestModifyDeletionFinalizers(t *testing.T) {
696694
initialVolume: newVolumeWithFinalizers("volume-13-8", "1Gi", "uid11-23", "claim11-23", v1.VolumeBound, v1.PersistentVolumeReclaimDelete, classCopper, []string{volume.PVDeletionProtectionFinalizer}, volume.AnnDynamicallyProvisioned, volume.AnnBoundByController),
697695
expVolumeFinalizers: []string{volume.PVDeletionInTreeProtectionFinalizer},
698696
expModified: true,
699-
migratedDriverGates: []featuregate.Feature{features.CSIMigration},
697+
migratedDriverGates: []featuregate.Feature{},
700698
},
701699
{
702700
// same as 13-8 but multiple finalizers exists, only the pv deletion protection finalizer needs to be
@@ -705,7 +703,7 @@ func TestModifyDeletionFinalizers(t *testing.T) {
705703
initialVolume: newVolumeWithFinalizers("volume-13-9", "1Gi", "uid11-23", "claim11-23", v1.VolumeBound, v1.PersistentVolumeReclaimDelete, classCopper, []string{volume.PVDeletionProtectionFinalizer, customFinalizer}, volume.AnnDynamicallyProvisioned, volume.AnnBoundByController),
706704
expVolumeFinalizers: []string{customFinalizer, volume.PVDeletionInTreeProtectionFinalizer},
707705
expModified: true,
708-
migratedDriverGates: []featuregate.Feature{features.CSIMigration},
706+
migratedDriverGates: []featuregate.Feature{},
709707
},
710708
{
711709
// corner error case.

pkg/features/kube_features.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -819,7 +819,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
819819

820820
CSIInlineVolume: {Default: true, PreRelease: featuregate.Beta},
821821

822-
CSIMigration: {Default: true, PreRelease: featuregate.Beta},
822+
CSIMigration: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.27
823823

824824
CSIMigrationAWS: {Default: true, PreRelease: featuregate.Beta},
825825

pkg/registry/storage/volumeattachment/strategy.go

-10
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@ import (
2323
"k8s.io/apimachinery/pkg/runtime"
2424
"k8s.io/apimachinery/pkg/util/validation/field"
2525
"k8s.io/apiserver/pkg/storage/names"
26-
utilfeature "k8s.io/apiserver/pkg/util/feature"
2726
"k8s.io/kubernetes/pkg/api/legacyscheme"
2827
"k8s.io/kubernetes/pkg/apis/storage"
2928
"k8s.io/kubernetes/pkg/apis/storage/validation"
30-
"k8s.io/kubernetes/pkg/features"
3129
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
3230
)
3331

@@ -61,11 +59,6 @@ func (volumeAttachmentStrategy) GetResetFields() map[fieldpath.APIVersion]*field
6159
func (volumeAttachmentStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
6260
volumeAttachment := obj.(*storage.VolumeAttachment)
6361
volumeAttachment.Status = storage.VolumeAttachmentStatus{}
64-
65-
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
66-
volumeAttachment.Spec.Source.InlineVolumeSpec = nil
67-
}
68-
6962
}
7063

7164
func (volumeAttachmentStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList {
@@ -99,9 +92,6 @@ func (volumeAttachmentStrategy) PrepareForUpdate(ctx context.Context, obj, old r
9992
newVolumeAttachment.Status = oldVolumeAttachment.Status
10093
// No need to increment Generation because we don't allow updates to spec
10194

102-
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && oldVolumeAttachment.Spec.Source.InlineVolumeSpec == nil {
103-
newVolumeAttachment.Spec.Source.InlineVolumeSpec = nil
104-
}
10595
}
10696

10797
func (volumeAttachmentStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList {

pkg/registry/storage/volumeattachment/strategy_test.go

-17
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ import (
2525
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2626
"k8s.io/apimachinery/pkg/util/diff"
2727
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
28-
utilfeature "k8s.io/apiserver/pkg/util/feature"
29-
featuregatetesting "k8s.io/component-base/featuregate/testing"
3028
api "k8s.io/kubernetes/pkg/apis/core"
3129
"k8s.io/kubernetes/pkg/apis/storage"
32-
"k8s.io/kubernetes/pkg/features"
3330
)
3431

3532
func getValidVolumeAttachment(name string) *storage.VolumeAttachment {
@@ -127,7 +124,6 @@ func TestVolumeAttachmentStrategySourceInlineSpec(t *testing.T) {
127124

128125
volumeAttachment := getValidVolumeAttachmentWithInlineSpec("valid-attachment")
129126
volumeAttachmentSaved := volumeAttachment.DeepCopy()
130-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
131127
Strategy.PrepareForCreate(ctx, volumeAttachment)
132128
if volumeAttachment.Spec.Source.InlineVolumeSpec == nil {
133129
t.Errorf("InlineVolumeSpec unexpectedly set to nil during PrepareForCreate")
@@ -139,23 +135,10 @@ func TestVolumeAttachmentStrategySourceInlineSpec(t *testing.T) {
139135
if volumeAttachmentSaved.Spec.Source.InlineVolumeSpec == nil {
140136
t.Errorf("InlineVolumeSpec unexpectedly set to nil during PrepareForUpdate")
141137
}
142-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, false)()
143138
Strategy.PrepareForUpdate(ctx, volumeAttachmentSaved, volumeAttachment)
144139
if volumeAttachmentSaved.Spec.Source.InlineVolumeSpec == nil {
145140
t.Errorf("InlineVolumeSpec unexpectedly set to nil during PrepareForUpdate")
146141
}
147-
148-
volumeAttachment = getValidVolumeAttachmentWithInlineSpec("valid-attachment")
149-
volumeAttachmentNew := volumeAttachment.DeepCopy()
150-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, false)()
151-
Strategy.PrepareForCreate(ctx, volumeAttachment)
152-
if volumeAttachment.Spec.Source.InlineVolumeSpec != nil {
153-
t.Errorf("InlineVolumeSpec unexpectedly not dropped during PrepareForCreate")
154-
}
155-
Strategy.PrepareForUpdate(ctx, volumeAttachmentNew, volumeAttachment)
156-
if volumeAttachmentNew.Spec.Source.InlineVolumeSpec != nil {
157-
t.Errorf("InlineVolumeSpec unexpectedly not dropped during PrepareForUpdate")
158-
}
159142
}
160143

161144
func TestVolumeAttachmentStatusStrategy(t *testing.T) {

pkg/scheduler/framework/plugins/nodevolumelimits/csi_test.go

-2
Original file line numberDiff line numberDiff line change
@@ -534,11 +534,9 @@ func TestCSILimits(t *testing.T) {
534534
t.Run(test.test, func(t *testing.T) {
535535
node, csiNode := getNodeWithPodAndVolumeLimits(test.limitSource, test.existingPods, int64(test.maxVols), test.driverNames...)
536536
if test.migrationEnabled {
537-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
538537
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationAWS, true)()
539538
enableMigrationOnNode(csiNode, csilibplugins.AWSEBSInTreePluginName)
540539
} else {
541-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, false)()
542540
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationAWS, false)()
543541
}
544542
csiTranslator := csitrans.New()

pkg/scheduler/framework/plugins/nodevolumelimits/utils.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package nodevolumelimits
1919
import (
2020
"strings"
2121

22-
"k8s.io/api/core/v1"
22+
v1 "k8s.io/api/core/v1"
2323
storagev1 "k8s.io/api/storage/v1"
2424
"k8s.io/apimachinery/pkg/util/sets"
2525
utilfeature "k8s.io/apiserver/pkg/util/feature"
@@ -38,10 +38,6 @@ func isCSIMigrationOn(csiNode *storagev1.CSINode, pluginName string) bool {
3838

3939
// In-tree storage to CSI driver migration feature should be enabled,
4040
// along with the plugin-specific one
41-
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
42-
return false
43-
}
44-
4541
switch pluginName {
4642
case csilibplugins.AWSEBSInTreePluginName:
4743
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAWS) {

pkg/scheduler/framework/plugins/volumebinding/binder.go

-4
Original file line numberDiff line numberDiff line change
@@ -1046,10 +1046,6 @@ func (b *volumeBinder) tryTranslatePVToCSI(pv *v1.PersistentVolume, csiNode *sto
10461046
return pv, nil
10471047
}
10481048

1049-
if !utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
1050-
return pv, nil
1051-
}
1052-
10531049
pluginName, err := b.translator.GetInTreePluginNameFromSpec(pv, nil)
10541050
if err != nil {
10551051
return nil, fmt.Errorf("could not get plugin name from pv: %v", err)

pkg/scheduler/framework/plugins/volumebinding/binder_test.go

-2
Original file line numberDiff line numberDiff line change
@@ -1217,7 +1217,6 @@ func TestFindPodVolumesWithCSIMigration(t *testing.T) {
12171217
ctx, cancel := context.WithCancel(context.Background())
12181218
defer cancel()
12191219

1220-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, true)()
12211220
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationGCE, true)()
12221221

12231222
// Setup
@@ -1843,7 +1842,6 @@ func TestCheckBindingsWithCSIMigration(t *testing.T) {
18431842
ctx, cancel := context.WithCancel(context.Background())
18441843
defer cancel()
18451844

1846-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigration, scenario.migrationEnabled)()
18471845
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIMigrationGCE, scenario.migrationEnabled)()
18481846

18491847
// Setup

pkg/volume/csi/csi_plugin.go

+12-14
Original file line numberDiff line numberDiff line change
@@ -217,40 +217,38 @@ func (p *csiPlugin) Init(host volume.VolumeHost) error {
217217

218218
var migratedPlugins = map[string](func() bool){
219219
csitranslationplugins.GCEPDInTreePluginName: func() bool {
220-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationGCE)
220+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationGCE)
221221
},
222222
csitranslationplugins.AWSEBSInTreePluginName: func() bool {
223-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAWS)
223+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAWS)
224224
},
225225
csitranslationplugins.CinderInTreePluginName: func() bool {
226-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration)
226+
return true
227227
},
228228
csitranslationplugins.AzureDiskInTreePluginName: func() bool {
229-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAzureDisk)
229+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAzureDisk)
230230
},
231231
csitranslationplugins.AzureFileInTreePluginName: func() bool {
232-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAzureFile)
232+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationAzureFile)
233233
},
234234
csitranslationplugins.VSphereInTreePluginName: func() bool {
235-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationvSphere)
235+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationvSphere)
236236
},
237237
csitranslationplugins.PortworxVolumePluginName: func() bool {
238-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationPortworx)
238+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationPortworx)
239239
},
240240
csitranslationplugins.RBDVolumePluginName: func() bool {
241-
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationRBD)
241+
return utilfeature.DefaultFeatureGate.Enabled(features.CSIMigrationRBD)
242242
},
243243
}
244244

245245
// Initializing the label management channels
246246
nim = nodeinfomanager.NewNodeInfoManager(host.GetNodeName(), host, migratedPlugins)
247247

248-
if utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) {
249-
// This function prevents Kubelet from posting Ready status until CSINode
250-
// is both installed and initialized
251-
if err := initializeCSINode(host); err != nil {
252-
return errors.New(log("failed to initialize CSINode: %v", err))
253-
}
248+
// This function prevents Kubelet from posting Ready status until CSINode
249+
// is both installed and initialized
250+
if err := initializeCSINode(host); err != nil {
251+
return errors.New(log("failed to initialize CSINode: %v", err))
254252
}
255253

256254
return nil

0 commit comments

Comments
 (0)