quota: use attributes instead of beta annotations

pull/6/head
Jan Safranek 2017-03-02 10:23:57 +01:00
parent 7dfc71d9eb
commit 916a0a63dd
1 changed files with 17 additions and 23 deletions

View File

@ -22,7 +22,6 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake"
"k8s.io/kubernetes/pkg/quota"
)
@ -35,6 +34,9 @@ func testVolumeClaim(name string, namespace string, spec api.PersistentVolumeCla
}
func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
classGold := "gold"
classBronze := "bronze"
validClaim := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{
Selector: &metav1.LabelSelector{
MatchExpressions: []metav1.LabelSelectorRequirement{
@ -72,10 +74,8 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
api.ResourceName(api.ResourceStorage): resource.MustParse("10Gi"),
},
},
StorageClassName: &classGold,
})
validClaimGoldStorageClass.Annotations = map[string]string{
v1.BetaStorageClassAnnotation: "gold",
}
validClaimBronzeStorageClass := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{
Selector: &metav1.LabelSelector{
@ -95,10 +95,8 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
api.ResourceName(api.ResourceStorage): resource.MustParse("10Gi"),
},
},
StorageClassName: &classBronze,
})
validClaimBronzeStorageClass.Annotations = map[string]string{
v1.BetaStorageClassAnnotation: "bronze",
}
missingStorage := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{
Selector: &metav1.LabelSelector{
@ -134,10 +132,8 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
Resources: api.ResourceRequirements{
Requests: api.ResourceList{},
},
StorageClassName: &classGold,
})
missingGoldStorage.Annotations = map[string]string{
v1.BetaStorageClassAnnotation: "gold",
}
testCases := map[string]struct {
pvc *api.PersistentVolumeClaim
@ -151,7 +147,7 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
},
"missing gold storage": {
pvc: missingGoldStorage,
required: []api.ResourceName{ResourceByStorageClass("gold", api.ResourceRequestsStorage)},
required: []api.ResourceName{ResourceByStorageClass(classGold, api.ResourceRequestsStorage)},
err: `must specify gold.storageclass.storage.k8s.io/requests.storage`,
},
"valid-claim-quota-storage": {
@ -171,8 +167,8 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
required: []api.ResourceName{
api.ResourceRequestsStorage,
api.ResourcePersistentVolumeClaims,
ResourceByStorageClass("gold", api.ResourceRequestsStorage),
ResourceByStorageClass("gold", api.ResourcePersistentVolumeClaims),
ResourceByStorageClass(classGold, api.ResourceRequestsStorage),
ResourceByStorageClass(classGold, api.ResourcePersistentVolumeClaims),
},
},
"valid-claim-bronze-with-quota-gold": {
@ -180,8 +176,8 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
required: []api.ResourceName{
api.ResourceRequestsStorage,
api.ResourcePersistentVolumeClaims,
ResourceByStorageClass("gold", api.ResourceRequestsStorage),
ResourceByStorageClass("gold", api.ResourcePersistentVolumeClaims),
ResourceByStorageClass(classGold, api.ResourceRequestsStorage),
ResourceByStorageClass(classGold, api.ResourcePersistentVolumeClaims),
},
},
}
@ -200,6 +196,7 @@ func TestPersistentVolumeClaimsConstraintsFunc(t *testing.T) {
}
func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) {
classGold := "gold"
validClaim := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{
Selector: &metav1.LabelSelector{
MatchExpressions: []metav1.LabelSelectorRequirement{
@ -237,11 +234,8 @@ func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) {
api.ResourceName(api.ResourceStorage): resource.MustParse("10Gi"),
},
},
StorageClassName: &classGold,
})
storageClassName := "gold"
validClaimByStorageClass.Annotations = map[string]string{
v1.BetaStorageClassAnnotation: storageClassName,
}
kubeClient := fake.NewSimpleClientset()
evaluator := NewPersistentVolumeClaimEvaluator(kubeClient, nil)
@ -259,10 +253,10 @@ func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) {
"pvc-usage-by-class": {
pvc: validClaimByStorageClass,
usage: api.ResourceList{
api.ResourceRequestsStorage: resource.MustParse("10Gi"),
api.ResourcePersistentVolumeClaims: resource.MustParse("1"),
ResourceByStorageClass(storageClassName, api.ResourceRequestsStorage): resource.MustParse("10Gi"),
ResourceByStorageClass(storageClassName, api.ResourcePersistentVolumeClaims): resource.MustParse("1"),
api.ResourceRequestsStorage: resource.MustParse("10Gi"),
api.ResourcePersistentVolumeClaims: resource.MustParse("1"),
ResourceByStorageClass(classGold, api.ResourceRequestsStorage): resource.MustParse("10Gi"),
ResourceByStorageClass(classGold, api.ResourcePersistentVolumeClaims): resource.MustParse("1"),
},
},
}