mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #113336 from divyenpatel/vsphere-csi-migration-ga
Promote CSIMigrationvSphere to GA
This commit is contained in:
commit
ee640d7756
@ -161,7 +161,7 @@ const (
|
||||
|
||||
// owner: @divyenpatel
|
||||
// beta: v1.19 (requires: vSphere vCenter/ESXi Version: 7.0u2, HW Version: VM version 15)
|
||||
//
|
||||
// GA: 1.26
|
||||
// Enables the vSphere in-tree driver to vSphere CSI Driver migration feature.
|
||||
CSIMigrationvSphere featuregate.Feature = "CSIMigrationvSphere"
|
||||
|
||||
@ -871,7 +871,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
|
||||
|
||||
CSIMigrationRBD: {Default: false, PreRelease: featuregate.Alpha}, // Off by default (requires RBD CSI driver)
|
||||
|
||||
CSIMigrationvSphere: {Default: true, PreRelease: featuregate.Beta},
|
||||
CSIMigrationvSphere: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.28
|
||||
|
||||
CSINodeExpandSecret: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
||||
|
@ -112,62 +112,6 @@ func TestIsMigratable(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckMigrationFeatureFlags(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
pluginFeature featuregate.Feature
|
||||
pluginFeatureEnabled bool
|
||||
pluginUnregsiterFeature featuregate.Feature
|
||||
pluginUnregsiterEnabled bool
|
||||
expectMigrationComplete bool
|
||||
expectErr bool
|
||||
}{
|
||||
{
|
||||
name: "plugin specific migration feature enabled with plugin unregister disabled",
|
||||
pluginFeature: features.CSIMigrationvSphere,
|
||||
pluginFeatureEnabled: true,
|
||||
pluginUnregsiterFeature: features.InTreePluginvSphereUnregister,
|
||||
pluginUnregsiterEnabled: false,
|
||||
expectMigrationComplete: false,
|
||||
expectErr: false,
|
||||
},
|
||||
{
|
||||
name: "plugin specific migration feature and plugin unregister disabled",
|
||||
pluginFeature: features.CSIMigrationvSphere,
|
||||
pluginFeatureEnabled: false,
|
||||
pluginUnregsiterFeature: features.InTreePluginvSphereUnregister,
|
||||
pluginUnregsiterEnabled: false,
|
||||
expectMigrationComplete: false,
|
||||
expectErr: false,
|
||||
},
|
||||
{
|
||||
name: "all features enabled",
|
||||
pluginFeature: features.CSIMigrationvSphere,
|
||||
pluginFeatureEnabled: true,
|
||||
pluginUnregsiterFeature: features.InTreePluginvSphereUnregister,
|
||||
pluginUnregsiterEnabled: true,
|
||||
expectMigrationComplete: true,
|
||||
expectErr: false,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
t.Run(fmt.Sprintf("Testing %v", test.name), func(t *testing.T) {
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, test.pluginFeature, test.pluginFeatureEnabled)()
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, test.pluginUnregsiterFeature, test.pluginUnregsiterEnabled)()
|
||||
migrationComplete, err := CheckMigrationFeatureFlags(utilfeature.DefaultFeatureGate, test.pluginFeature, test.pluginUnregsiterFeature)
|
||||
if err != nil && test.expectErr == false {
|
||||
t.Errorf("Unexpected error: %v", err)
|
||||
}
|
||||
if err == nil && test.expectErr == true {
|
||||
t.Errorf("Unexpected validation pass")
|
||||
}
|
||||
if migrationComplete != test.expectMigrationComplete {
|
||||
t.Errorf("Unexpected migrationComplete result. Exp: %v, got %v", test.expectMigrationComplete, migrationComplete)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestMigrationFeatureFlagStatus(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
@ -224,6 +168,28 @@ func TestMigrationFeatureFlagStatus(t *testing.T) {
|
||||
csiMigrationResult: true,
|
||||
csiMigrationCompleteResult: true,
|
||||
},
|
||||
{
|
||||
name: "vsphere-volume migration flag enabled and migration-complete flag disabled with CSI migration flag enabled",
|
||||
pluginName: "kubernetes.io/vsphere-volume",
|
||||
pluginFeature: features.CSIMigrationvSphere,
|
||||
pluginFeatureEnabled: true,
|
||||
csiMigrationEnabled: true,
|
||||
inTreePluginUnregister: features.InTreePluginvSphereUnregister,
|
||||
inTreePluginUnregisterEnabled: false,
|
||||
csiMigrationResult: true,
|
||||
csiMigrationCompleteResult: false,
|
||||
},
|
||||
{
|
||||
name: "vsphere-volume migration flag enabled and migration-complete flag enabled with CSI migration flag enabled",
|
||||
pluginName: "kubernetes.io/vsphere-volume",
|
||||
pluginFeature: features.CSIMigrationvSphere,
|
||||
pluginFeatureEnabled: true,
|
||||
csiMigrationEnabled: true,
|
||||
inTreePluginUnregister: features.InTreePluginvSphereUnregister,
|
||||
inTreePluginUnregisterEnabled: true,
|
||||
csiMigrationResult: true,
|
||||
csiMigrationCompleteResult: true,
|
||||
},
|
||||
}
|
||||
csiTranslator := csitrans.New()
|
||||
for _, test := range testCases {
|
||||
|
Loading…
Reference in New Issue
Block a user