From d37e84c542659400da03429d2410b1785d154369 Mon Sep 17 00:00:00 2001 From: Fabio Bertinatto Date: Mon, 28 Jun 2021 14:40:43 -0300 Subject: [PATCH] UPSTREAM: : add CSI migration feature gates for GCE PD and Azure Disk This commit is the next natural step for commit 2d9a8f90b24. It introduces custom feature gates to enable the CSI migration in GCE PD and Azure Disk plugins. See openshift/enhancements#549 for details. Stop the patch when CSI migration becomes GA (i.e. features.CSIMigrationAzureDisk / features.CSIMigrationGCE are GA). --- pkg/features/patch_kube_features.go | 22 +++++++++++++++---- .../csimigration/patch_adc_plugin_manager.go | 4 ++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pkg/features/patch_kube_features.go b/pkg/features/patch_kube_features.go index f4f094f461c8a..438f5f2031680 100644 --- a/pkg/features/patch_kube_features.go +++ b/pkg/features/patch_kube_features.go @@ -8,21 +8,35 @@ import ( var ( // owner: @jsafrane - // alpha: v1.21 + // beta: v1.21 // // Enables the AWS EBS CSI migration for the Attach/Detach controller (ADC) only. ADCCSIMigrationAWS featuregate.Feature = "ADC_CSIMigrationAWS" + // owner: @fbertina + // beta: v1.22 + // + // Enables the Azure Disk CSI migration for the Attach/Detach controller (ADC) only. + ADCCSIMigrationAzureDisk featuregate.Feature = "ADC_CSIMigrationAzureDisk" + // owner: @jsafrane - // alpha: v1.21 + // beta: v1.21 // // Enables the Cinder CSI migration for the Attach/Detach controller (ADC) only. ADCCSIMigrationCinder featuregate.Feature = "ADC_CSIMigrationCinder" + + // owner: @fbertina + // beta: v1.22 + // + // Enables the GCE CSI migration for the Attach/Detach controller (ADC) only. + ADCCSIMigrationGCEPD featuregate.Feature = "ADC_CSIMigrationGCEPD" ) var ocpDefaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ - ADCCSIMigrationAWS: {Default: true, PreRelease: featuregate.Beta}, - ADCCSIMigrationCinder: {Default: true, PreRelease: featuregate.Beta}, + ADCCSIMigrationAWS: {Default: true, PreRelease: featuregate.Beta}, + ADCCSIMigrationAzureDisk: {Default: true, PreRelease: featuregate.Beta}, + ADCCSIMigrationCinder: {Default: true, PreRelease: featuregate.Beta}, + ADCCSIMigrationGCEPD: {Default: true, PreRelease: featuregate.Beta}, } func init() { diff --git a/pkg/volume/csimigration/patch_adc_plugin_manager.go b/pkg/volume/csimigration/patch_adc_plugin_manager.go index dc3a3bae86d66..cb0cafc1934be 100644 --- a/pkg/volume/csimigration/patch_adc_plugin_manager.go +++ b/pkg/volume/csimigration/patch_adc_plugin_manager.go @@ -26,8 +26,12 @@ func (pm PluginManager) adcIsMigrationEnabledForPlugin(pluginName string) bool { switch pluginName { case csilibplugins.AWSEBSInTreePluginName: return pm.featureGate.Enabled(features.ADCCSIMigrationAWS) + case csilibplugins.AzureDiskInTreePluginName: + return pm.featureGate.Enabled(features.ADCCSIMigrationAzureDisk) case csilibplugins.CinderInTreePluginName: return pm.featureGate.Enabled(features.ADCCSIMigrationCinder) + case csilibplugins.GCEPDInTreePluginName: + return pm.featureGate.Enabled(features.ADCCSIMigrationGCEPD) default: return pm.isMigrationEnabledForPlugin(pluginName) }