@@ -29,7 +29,6 @@ import (
29
29
appsv1 "k8s.io/api/apps/v1"
30
30
v1 "k8s.io/api/core/v1"
31
31
storage "k8s.io/api/storage/v1"
32
- "k8s.io/apimachinery/pkg/api/resource"
33
32
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
34
33
"k8s.io/apimachinery/pkg/labels"
35
34
"k8s.io/apimachinery/pkg/types"
@@ -154,9 +153,21 @@ func testVolumeProvisioning(c clientset.Interface, ns string) {
154
153
155
154
func testZonalFailover (c clientset.Interface , ns string ) {
156
155
cloudZones := getTwoRandomZones (c )
157
- class := newRegionalStorageClass (ns , cloudZones )
158
- claimTemplate := newClaimTemplate (ns )
159
- claimTemplate .Spec .StorageClassName = & class .Name
156
+ testSpec := testsuites.StorageClassTest {
157
+ Name : "Regional PD Failover on GCE/GKE" ,
158
+ CloudProviders : []string {"gce" , "gke" },
159
+ Provisioner : "kubernetes.io/gce-pd" ,
160
+ Parameters : map [string ]string {
161
+ "type" : "pd-standard" ,
162
+ "zones" : strings .Join (cloudZones , "," ),
163
+ "replication-type" : "regional-pd" ,
164
+ },
165
+ ClaimSize : repdMinSize ,
166
+ ExpectedSize : repdMinSize ,
167
+ }
168
+ class := newStorageClass (testSpec , ns , "" /* suffix */ )
169
+ claimTemplate := newClaim (testSpec , ns , "" /* suffix */ )
170
+ claimTemplate .Spec .StorageClassName = & testSpec .Class .Name
160
171
statefulSet , service , regionalPDLabels := newStatefulSet (claimTemplate , ns )
161
172
162
173
By ("creating a StorageClass " + class .Name )
@@ -517,42 +528,6 @@ func newPodTemplate(labels map[string]string) *v1.PodTemplateSpec {
517
528
}
518
529
}
519
530
520
- func newClaimTemplate (ns string ) * v1.PersistentVolumeClaim {
521
- return & v1.PersistentVolumeClaim {
522
- ObjectMeta : metav1.ObjectMeta {
523
- Name : "regional-pd-vol" ,
524
- Namespace : ns ,
525
- },
526
- Spec : v1.PersistentVolumeClaimSpec {
527
- AccessModes : []v1.PersistentVolumeAccessMode {
528
- v1 .ReadWriteOnce ,
529
- },
530
- Resources : v1.ResourceRequirements {
531
- Requests : v1.ResourceList {
532
- v1 .ResourceName (v1 .ResourceStorage ): resource .MustParse ("1Gi" ),
533
- },
534
- },
535
- },
536
- }
537
- }
538
-
539
- func newRegionalStorageClass (namespace string , zones []string ) * storage.StorageClass {
540
- return & storage.StorageClass {
541
- TypeMeta : metav1.TypeMeta {
542
- Kind : "StorageClass" ,
543
- },
544
- ObjectMeta : metav1.ObjectMeta {
545
- Name : namespace + "-sc" ,
546
- },
547
- Provisioner : "kubernetes.io/gce-pd" ,
548
- Parameters : map [string ]string {
549
- "type" : "pd-standard" ,
550
- "zones" : strings .Join (zones , "," ),
551
- "replication-type" : "regional-pd" ,
552
- },
553
- }
554
- }
555
-
556
531
func getTwoRandomZones (c clientset.Interface ) []string {
557
532
zones , err := framework .GetClusterZones (c )
558
533
Expect (err ).ToNot (HaveOccurred ())
0 commit comments