diff --git a/test/e2e/storage/regional_pd.go b/test/e2e/storage/regional_pd.go index 810c4bd2787..f6c8e416295 100644 --- a/test/e2e/storage/regional_pd.go +++ b/test/e2e/storage/regional_pd.go @@ -29,7 +29,6 @@ import ( appsv1 "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" - "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/types" @@ -154,9 +153,21 @@ func testVolumeProvisioning(c clientset.Interface, ns string) { func testZonalFailover(c clientset.Interface, ns string) { cloudZones := getTwoRandomZones(c) - class := newRegionalStorageClass(ns, cloudZones) - claimTemplate := newClaimTemplate(ns) - claimTemplate.Spec.StorageClassName = &class.Name + testSpec := testsuites.StorageClassTest{ + Name: "Regional PD Failover on GCE/GKE", + CloudProviders: []string{"gce", "gke"}, + Provisioner: "kubernetes.io/gce-pd", + Parameters: map[string]string{ + "type": "pd-standard", + "zones": strings.Join(cloudZones, ","), + "replication-type": "regional-pd", + }, + ClaimSize: repdMinSize, + ExpectedSize: repdMinSize, + } + class := newStorageClass(testSpec, ns, "" /* suffix */) + claimTemplate := newClaim(testSpec, ns, "" /* suffix */) + claimTemplate.Spec.StorageClassName = &testSpec.Class.Name statefulSet, service, regionalPDLabels := newStatefulSet(claimTemplate, ns) By("creating a StorageClass " + class.Name) @@ -517,42 +528,6 @@ func newPodTemplate(labels map[string]string) *v1.PodTemplateSpec { } } -func newClaimTemplate(ns string) *v1.PersistentVolumeClaim { - return &v1.PersistentVolumeClaim{ - ObjectMeta: metav1.ObjectMeta{ - Name: "regional-pd-vol", - Namespace: ns, - }, - Spec: v1.PersistentVolumeClaimSpec{ - AccessModes: []v1.PersistentVolumeAccessMode{ - v1.ReadWriteOnce, - }, - Resources: v1.ResourceRequirements{ - Requests: v1.ResourceList{ - v1.ResourceName(v1.ResourceStorage): resource.MustParse("1Gi"), - }, - }, - }, - } -} - -func newRegionalStorageClass(namespace string, zones []string) *storage.StorageClass { - return &storage.StorageClass{ - TypeMeta: metav1.TypeMeta{ - Kind: "StorageClass", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: namespace + "-sc", - }, - Provisioner: "kubernetes.io/gce-pd", - Parameters: map[string]string{ - "type": "pd-standard", - "zones": strings.Join(zones, ","), - "replication-type": "regional-pd", - }, - } -} - func getTwoRandomZones(c clientset.Interface) []string { zones, err := framework.GetClusterZones(c) Expect(err).ToNot(HaveOccurred())