mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 07:27:21 +00:00
Add VolumeType api to PV and PVC
This commit is contained in:
@@ -26,6 +26,7 @@ import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||
corev1 "k8s.io/kubernetes/pkg/apis/core/v1"
|
||||
|
||||
@@ -817,6 +818,33 @@ func TestSetDefaultPersistentVolume(t *testing.T) {
|
||||
if pv2.Spec.PersistentVolumeReclaimPolicy != v1.PersistentVolumeReclaimRetain {
|
||||
t.Errorf("Expected pv reclaim policy %v, got %v", v1.PersistentVolumeReclaimRetain, pv2.Spec.PersistentVolumeReclaimPolicy)
|
||||
}
|
||||
|
||||
// When feature gate is disabled, field should not be defaulted
|
||||
defaultMode := v1.PersistentVolumeFilesystem
|
||||
outputMode := pv2.Spec.VolumeMode
|
||||
if outputMode != nil {
|
||||
t.Errorf("Expected VolumeMode to not be defaulted, got: %+v", outputMode)
|
||||
}
|
||||
|
||||
// When feature gate is enabled, field should be defaulted
|
||||
err := utilfeature.DefaultFeatureGate.Set("BlockVolume=true")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to enable feature gate for BlockVolume: %v", err)
|
||||
}
|
||||
obj3 := roundTrip(t, runtime.Object(pv)).(*v1.PersistentVolume)
|
||||
outputMode3 := obj3.Spec.VolumeMode
|
||||
|
||||
if outputMode3 == nil {
|
||||
t.Errorf("Expected VolumeMode to be defaulted to: %+v, got: nil", defaultMode)
|
||||
} else if *outputMode3 != defaultMode {
|
||||
t.Errorf("Expected VolumeMode to be defaulted to: %+v, got: %+v", defaultMode, outputMode3)
|
||||
}
|
||||
|
||||
err = utilfeature.DefaultFeatureGate.Set("BlockVolume=false")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to disable feature gate for BlockVolume: %v", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSetDefaultPersistentVolumeClaim(t *testing.T) {
|
||||
@@ -827,6 +855,32 @@ func TestSetDefaultPersistentVolumeClaim(t *testing.T) {
|
||||
if pvc2.Status.Phase != v1.ClaimPending {
|
||||
t.Errorf("Expected claim phase %v, got %v", v1.ClaimPending, pvc2.Status.Phase)
|
||||
}
|
||||
|
||||
// When feature gate is disabled, field should not be defaulted
|
||||
defaultMode := v1.PersistentVolumeFilesystem
|
||||
outputMode := pvc2.Spec.VolumeMode
|
||||
if outputMode != nil {
|
||||
t.Errorf("Expected VolumeMode to not be defaulted, got: %+v", outputMode)
|
||||
}
|
||||
|
||||
// When feature gate is enabled, field should be defaulted
|
||||
err := utilfeature.DefaultFeatureGate.Set("BlockVolume=true")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to enable feature gate for BlockVolume: %v", err)
|
||||
}
|
||||
obj3 := roundTrip(t, runtime.Object(pvc)).(*v1.PersistentVolumeClaim)
|
||||
outputMode3 := obj3.Spec.VolumeMode
|
||||
|
||||
if outputMode3 == nil {
|
||||
t.Errorf("Expected VolumeMode to be defaulted to: %+v, got: nil", defaultMode)
|
||||
} else if *outputMode3 != defaultMode {
|
||||
t.Errorf("Expected VolumeMode to be defaulted to: %+v, got: %+v", defaultMode, outputMode3)
|
||||
}
|
||||
|
||||
err = utilfeature.DefaultFeatureGate.Set("BlockVolume=false")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to disable feature gate for BlockVolume: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDefaulEndpointsProtocol(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user