mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Updated regional PD minimum size; changed regional PD failover test to use StorageClassTest to generate PVC template
This commit is contained in:
parent
152f0a150e
commit
6a02ebb30c
@ -29,7 +29,6 @@ import (
|
|||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storage "k8s.io/api/storage/v1"
|
storage "k8s.io/api/storage/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
@ -154,9 +153,21 @@ func testVolumeProvisioning(c clientset.Interface, ns string) {
|
|||||||
|
|
||||||
func testZonalFailover(c clientset.Interface, ns string) {
|
func testZonalFailover(c clientset.Interface, ns string) {
|
||||||
cloudZones := getTwoRandomZones(c)
|
cloudZones := getTwoRandomZones(c)
|
||||||
class := newRegionalStorageClass(ns, cloudZones)
|
testSpec := testsuites.StorageClassTest{
|
||||||
claimTemplate := newClaimTemplate(ns)
|
Name: "Regional PD Failover on GCE/GKE",
|
||||||
claimTemplate.Spec.StorageClassName = &class.Name
|
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)
|
statefulSet, service, regionalPDLabels := newStatefulSet(claimTemplate, ns)
|
||||||
|
|
||||||
By("creating a StorageClass " + class.Name)
|
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 {
|
func getTwoRandomZones(c clientset.Interface) []string {
|
||||||
zones, err := framework.GetClusterZones(c)
|
zones, err := framework.GetClusterZones(c)
|
||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
Loading…
Reference in New Issue
Block a user