mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
e2e tests: use attributes instead of beta annotations
This commit is contained in:
parent
ca7cdc8c96
commit
7dfc71d9eb
@ -38,6 +38,8 @@ const (
|
|||||||
resourceQuotaTimeout = 30 * time.Second
|
resourceQuotaTimeout = 30 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var classGold string = "gold"
|
||||||
|
|
||||||
var _ = framework.KubeDescribe("ResourceQuota", func() {
|
var _ = framework.KubeDescribe("ResourceQuota", func() {
|
||||||
f := framework.NewDefaultFramework("resourcequota")
|
f := framework.NewDefaultFramework("resourcequota")
|
||||||
|
|
||||||
@ -330,17 +332,15 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
|
|||||||
usedResources[v1.ResourceQuotas] = resource.MustParse("1")
|
usedResources[v1.ResourceQuotas] = resource.MustParse("1")
|
||||||
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("0")
|
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("0")
|
||||||
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("0")
|
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("0")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourcePersistentVolumeClaims)] = resource.MustParse("0")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourcePersistentVolumeClaims)] = resource.MustParse("0")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourceRequestsStorage)] = resource.MustParse("0")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourceRequestsStorage)] = resource.MustParse("0")
|
||||||
|
|
||||||
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("Creating a PersistentVolumeClaim with storage class")
|
By("Creating a PersistentVolumeClaim with storage class")
|
||||||
pvc := newTestPersistentVolumeClaimForQuota("test-claim")
|
pvc := newTestPersistentVolumeClaimForQuota("test-claim")
|
||||||
pvc.Annotations = map[string]string{
|
pvc.Spec.StorageClassName = &classGold
|
||||||
v1.BetaStorageClassAnnotation: "gold",
|
|
||||||
}
|
|
||||||
pvc, err = f.ClientSet.Core().PersistentVolumeClaims(f.Namespace.Name).Create(pvc)
|
pvc, err = f.ClientSet.Core().PersistentVolumeClaims(f.Namespace.Name).Create(pvc)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
@ -348,8 +348,8 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
|
|||||||
usedResources = v1.ResourceList{}
|
usedResources = v1.ResourceList{}
|
||||||
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("1")
|
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("1")
|
||||||
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("1Gi")
|
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("1Gi")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourcePersistentVolumeClaims)] = resource.MustParse("1")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourcePersistentVolumeClaims)] = resource.MustParse("1")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourceRequestsStorage)] = resource.MustParse("1Gi")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourceRequestsStorage)] = resource.MustParse("1Gi")
|
||||||
|
|
||||||
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@ -361,8 +361,8 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
|
|||||||
By("Ensuring resource quota status released usage")
|
By("Ensuring resource quota status released usage")
|
||||||
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("0")
|
usedResources[v1.ResourcePersistentVolumeClaims] = resource.MustParse("0")
|
||||||
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("0")
|
usedResources[v1.ResourceRequestsStorage] = resource.MustParse("0")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourcePersistentVolumeClaims)] = resource.MustParse("0")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourcePersistentVolumeClaims)] = resource.MustParse("0")
|
||||||
usedResources[core.V1ResourceByStorageClass("gold", v1.ResourceRequestsStorage)] = resource.MustParse("0")
|
usedResources[core.V1ResourceByStorageClass(classGold, v1.ResourceRequestsStorage)] = resource.MustParse("0")
|
||||||
|
|
||||||
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quotaName, usedResources)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@ -579,8 +579,8 @@ func newTestResourceQuota(name string) *v1.ResourceQuota {
|
|||||||
hard[v1.ResourceSecrets] = resource.MustParse("10")
|
hard[v1.ResourceSecrets] = resource.MustParse("10")
|
||||||
hard[v1.ResourcePersistentVolumeClaims] = resource.MustParse("10")
|
hard[v1.ResourcePersistentVolumeClaims] = resource.MustParse("10")
|
||||||
hard[v1.ResourceRequestsStorage] = resource.MustParse("10Gi")
|
hard[v1.ResourceRequestsStorage] = resource.MustParse("10Gi")
|
||||||
hard[core.V1ResourceByStorageClass("gold", v1.ResourcePersistentVolumeClaims)] = resource.MustParse("10")
|
hard[core.V1ResourceByStorageClass(classGold, v1.ResourcePersistentVolumeClaims)] = resource.MustParse("10")
|
||||||
hard[core.V1ResourceByStorageClass("gold", v1.ResourceRequestsStorage)] = resource.MustParse("10Gi")
|
hard[core.V1ResourceByStorageClass(classGold, v1.ResourceRequestsStorage)] = resource.MustParse("10Gi")
|
||||||
return &v1.ResourceQuota{
|
return &v1.ResourceQuota{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: name},
|
ObjectMeta: metav1.ObjectMeta{Name: name},
|
||||||
Spec: v1.ResourceQuotaSpec{Hard: hard},
|
Spec: v1.ResourceQuotaSpec{Hard: hard},
|
||||||
|
@ -114,7 +114,9 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("creating a claim with a dynamic provisioning annotation")
|
By("creating a claim with a dynamic provisioning annotation")
|
||||||
claim := newClaim(ns, "internal", false)
|
claim := newClaim(ns)
|
||||||
|
claim.Spec.StorageClassName = &class.Name
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
||||||
}()
|
}()
|
||||||
@ -131,6 +133,32 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
testDynamicProvisioning(c, claim, "2Gi")
|
testDynamicProvisioning(c, claim, "2Gi")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
framework.KubeDescribe("DynamicProvisioner Beta", func() {
|
||||||
|
It("should create and delete persistent volumes [Slow] [Volume]", func() {
|
||||||
|
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
|
||||||
|
|
||||||
|
By("creating a StorageClass")
|
||||||
|
class := newStorageClass("", "beta")
|
||||||
|
_, err := c.StorageV1beta1().StorageClasses().Create(class)
|
||||||
|
defer c.StorageV1beta1().StorageClasses().Delete(class.Name, nil)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
By("creating a claim with a dynamic provisioning annotation")
|
||||||
|
claim := newClaim(ns)
|
||||||
|
claim.Annotations = map[string]string{
|
||||||
|
v1.BetaStorageClassAnnotation: class.Name,
|
||||||
|
}
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
||||||
|
}()
|
||||||
|
claim, err = c.Core().PersistentVolumeClaims(ns).Create(claim)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
testDynamicProvisioning(c, claim, "2Gi")
|
||||||
|
})
|
||||||
|
|
||||||
// NOTE: Slow! The test will wait up to 5 minutes (framework.ClaimProvisionTimeout) when there is
|
// NOTE: Slow! The test will wait up to 5 minutes (framework.ClaimProvisionTimeout) when there is
|
||||||
// no regression.
|
// no regression.
|
||||||
@ -165,7 +193,7 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
By("Creating a StorageClass for the unmanaged zone")
|
By("Creating a StorageClass for the unmanaged zone")
|
||||||
sc := newStorageClass("kubernetes.io/gce-pd", suffix)
|
sc := newStorageClass("", suffix)
|
||||||
// Set an unmanaged zone.
|
// Set an unmanaged zone.
|
||||||
sc.Parameters = map[string]string{"zone": unmanagedZone}
|
sc.Parameters = map[string]string{"zone": unmanagedZone}
|
||||||
sc, err = c.StorageV1beta1().StorageClasses().Create(sc)
|
sc, err = c.StorageV1beta1().StorageClasses().Create(sc)
|
||||||
@ -173,7 +201,9 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("Creating a claim and expecting it to timeout")
|
By("Creating a claim and expecting it to timeout")
|
||||||
pvc := newClaim(ns, suffix, false)
|
pvc := newClaim(ns)
|
||||||
|
className := sc.Name
|
||||||
|
pvc.Spec.StorageClassName = &className
|
||||||
pvc, err = c.Core().PersistentVolumeClaims(ns).Create(pvc)
|
pvc, err = c.Core().PersistentVolumeClaims(ns).Create(pvc)
|
||||||
defer Expect(c.Core().PersistentVolumeClaims(ns).Delete(pvc.Name, nil)).To(Succeed())
|
defer Expect(c.Core().PersistentVolumeClaims(ns).Delete(pvc.Name, nil)).To(Succeed())
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@ -190,7 +220,9 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere")
|
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere")
|
||||||
|
|
||||||
By("creating a claim with an alpha dynamic provisioning annotation")
|
By("creating a claim with an alpha dynamic provisioning annotation")
|
||||||
claim := newClaim(ns, "", true)
|
claim := newClaim(ns)
|
||||||
|
claim.Annotations = map[string]string{v1.AlphaStorageClassAnnotation: ""}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
||||||
}()
|
}()
|
||||||
@ -228,7 +260,9 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("creating a claim with a dynamic provisioning annotation")
|
By("creating a claim with a dynamic provisioning annotation")
|
||||||
claim := newClaim(ns, "external", false)
|
claim := newClaim(ns)
|
||||||
|
className := class.Name
|
||||||
|
claim.Spec.StorageClassName = &className
|
||||||
defer func() {
|
defer func() {
|
||||||
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
|
||||||
}()
|
}()
|
||||||
@ -242,7 +276,7 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
func newClaim(ns, suffix string, alpha bool) *v1.PersistentVolumeClaim {
|
func newClaim(ns string) *v1.PersistentVolumeClaim {
|
||||||
claim := v1.PersistentVolumeClaim{
|
claim := v1.PersistentVolumeClaim{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
GenerateName: "pvc-",
|
GenerateName: "pvc-",
|
||||||
@ -260,17 +294,6 @@ func newClaim(ns, suffix string, alpha bool) *v1.PersistentVolumeClaim {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if alpha {
|
|
||||||
claim.Annotations = map[string]string{
|
|
||||||
v1.AlphaStorageClassAnnotation: "",
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
claim.Annotations = map[string]string{
|
|
||||||
v1.BetaStorageClassAnnotation: "myclass-" + suffix,
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return &claim
|
return &claim
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user