Use storage.k8s.io/v1 in tests instead of v1beta1
This commit is contained in:
		@@ -116,8 +116,9 @@ go_library(
 | 
				
			|||||||
        "//pkg/apis/extensions/v1beta1:go_default_library",
 | 
					        "//pkg/apis/extensions/v1beta1:go_default_library",
 | 
				
			||||||
        "//pkg/apis/rbac/v1beta1:go_default_library",
 | 
					        "//pkg/apis/rbac/v1beta1:go_default_library",
 | 
				
			||||||
        "//pkg/apis/settings/v1alpha1:go_default_library",
 | 
					        "//pkg/apis/settings/v1alpha1:go_default_library",
 | 
				
			||||||
 | 
					        "//pkg/apis/storage/v1:go_default_library",
 | 
				
			||||||
 | 
					        "//pkg/apis/storage/v1/util:go_default_library",
 | 
				
			||||||
        "//pkg/apis/storage/v1beta1:go_default_library",
 | 
					        "//pkg/apis/storage/v1beta1:go_default_library",
 | 
				
			||||||
        "//pkg/apis/storage/v1beta1/util:go_default_library",
 | 
					 | 
				
			||||||
        "//pkg/client/clientset_generated/clientset:go_default_library",
 | 
					        "//pkg/client/clientset_generated/clientset:go_default_library",
 | 
				
			||||||
        "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library",
 | 
					        "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library",
 | 
				
			||||||
        "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library",
 | 
					        "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,8 +26,9 @@ import (
 | 
				
			|||||||
	"k8s.io/apiserver/pkg/authentication/serviceaccount"
 | 
						"k8s.io/apiserver/pkg/authentication/serviceaccount"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/v1"
 | 
						"k8s.io/kubernetes/pkg/api/v1"
 | 
				
			||||||
	rbacv1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1"
 | 
						rbacv1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1"
 | 
				
			||||||
	storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1"
 | 
						storage "k8s.io/kubernetes/pkg/apis/storage/v1"
 | 
				
			||||||
	storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util"
 | 
						storageutil "k8s.io/kubernetes/pkg/apis/storage/v1/util"
 | 
				
			||||||
 | 
						storagebeta "k8s.io/kubernetes/pkg/apis/storage/v1beta1"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
 | 
						"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
 | 
				
			||||||
	"k8s.io/kubernetes/test/e2e/framework"
 | 
						"k8s.io/kubernetes/test/e2e/framework"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -104,16 +105,14 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
 | 
				
			|||||||
		ns = f.Namespace.Name
 | 
							ns = f.Namespace.Name
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
					 | 
				
			||||||
		TODO: enable when GKE is updated with the new API
 | 
					 | 
				
			||||||
	framework.KubeDescribe("DynamicProvisioner", func() {
 | 
						framework.KubeDescribe("DynamicProvisioner", func() {
 | 
				
			||||||
		It("should create and delete persistent volumes [Slow] [Volume]", func() {
 | 
							It("should create and delete persistent volumes [Slow] [Volume]", func() {
 | 
				
			||||||
				framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere")
 | 
								framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			By("creating a StorageClass")
 | 
								By("creating a StorageClass")
 | 
				
			||||||
			class := newStorageClass("", "internal")
 | 
								class := newStorageClass("", "internal")
 | 
				
			||||||
				class, err := c.StorageV1beta1().StorageClasses().Create(class)
 | 
								class, err := c.StorageV1().StorageClasses().Create(class)
 | 
				
			||||||
				defer c.StorageV1beta1().StorageClasses().Delete(class.Name, nil)
 | 
								defer c.StorageV1().StorageClasses().Delete(class.Name, nil)
 | 
				
			||||||
			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")
 | 
				
			||||||
@@ -137,13 +136,13 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	*/
 | 
					
 | 
				
			||||||
	framework.KubeDescribe("DynamicProvisioner Beta", func() {
 | 
						framework.KubeDescribe("DynamicProvisioner Beta", func() {
 | 
				
			||||||
		It("should create and delete persistent volumes [Slow] [Volume]", func() {
 | 
							It("should create and delete persistent volumes [Slow] [Volume]", func() {
 | 
				
			||||||
			framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
 | 
								framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			By("creating a StorageClass")
 | 
								By("creating a StorageClass")
 | 
				
			||||||
			class := newStorageClass("", "beta")
 | 
								class := newBetaStorageClass("", "beta")
 | 
				
			||||||
			_, err := c.StorageV1beta1().StorageClasses().Create(class)
 | 
								_, err := c.StorageV1beta1().StorageClasses().Create(class)
 | 
				
			||||||
			defer c.StorageV1beta1().StorageClasses().Delete(class.Name, nil)
 | 
								defer c.StorageV1beta1().StorageClasses().Delete(class.Name, nil)
 | 
				
			||||||
			Expect(err).NotTo(HaveOccurred())
 | 
								Expect(err).NotTo(HaveOccurred())
 | 
				
			||||||
@@ -199,17 +198,13 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
 | 
				
			|||||||
			sc := newStorageClass("", 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.StorageV1().StorageClasses().Create(sc)
 | 
				
			||||||
			defer Expect(c.StorageV1beta1().StorageClasses().Delete(sc.Name, nil)).To(Succeed())
 | 
								defer Expect(c.StorageV1().StorageClasses().Delete(sc.Name, nil)).To(Succeed())
 | 
				
			||||||
			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)
 | 
								pvc := newClaim(ns)
 | 
				
			||||||
			// TODO: switch to attribute when GKE is updated
 | 
								pvc.Spec.StorageClassName = &sc.Name
 | 
				
			||||||
			pvc.Annotations = map[string]string{
 | 
					 | 
				
			||||||
				v1.BetaStorageClassAnnotation: 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())
 | 
				
			||||||
@@ -261,16 +256,19 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			By("creating a StorageClass")
 | 
								By("creating a StorageClass")
 | 
				
			||||||
			class := newStorageClass(externalPluginName, "external")
 | 
								class := newStorageClass(externalPluginName, "external")
 | 
				
			||||||
			_, err = c.StorageV1beta1().StorageClasses().Create(class)
 | 
								_, err = c.StorageV1().StorageClasses().Create(class)
 | 
				
			||||||
			defer c.StorageV1beta1().StorageClasses().Delete(class.Name, nil)
 | 
								defer c.StorageV1().StorageClasses().Delete(class.Name, nil)
 | 
				
			||||||
			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)
 | 
								claim := newClaim(ns)
 | 
				
			||||||
			className := class.Name
 | 
								className := class.Name
 | 
				
			||||||
			// TODO: switch to attribute when GKE is updated
 | 
								// the external provisioner understands Beta only right now, see
 | 
				
			||||||
			claim.Annotations = map[string]string{v1.BetaStorageClassAnnotation: className}
 | 
								// https://github.com/kubernetes-incubator/external-storage/issues/37
 | 
				
			||||||
			// claim.Spec.StorageClassName = &className
 | 
								// claim.Spec.StorageClassName = &className
 | 
				
			||||||
 | 
								claim.Annotations = map[string]string{
 | 
				
			||||||
 | 
									v1.BetaStorageClassAnnotation: className,
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			defer func() {
 | 
								defer func() {
 | 
				
			||||||
				c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
 | 
									c.Core().PersistentVolumeClaims(ns).Delete(claim.Name, nil)
 | 
				
			||||||
			}()
 | 
								}()
 | 
				
			||||||
@@ -362,11 +360,13 @@ func updateDefaultStorageClass(c clientset.Interface, defaultStr string) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if defaultStr == "" {
 | 
						if defaultStr == "" {
 | 
				
			||||||
		delete(sc.Annotations, storageutil.BetaIsDefaultStorageClassAnnotation)
 | 
							delete(sc.Annotations, storageutil.BetaIsDefaultStorageClassAnnotation)
 | 
				
			||||||
 | 
							delete(sc.Annotations, storageutil.IsDefaultStorageClassAnnotation)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		if sc.Annotations == nil {
 | 
							if sc.Annotations == nil {
 | 
				
			||||||
			sc.Annotations = make(map[string]string)
 | 
								sc.Annotations = make(map[string]string)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		sc.Annotations[storageutil.BetaIsDefaultStorageClassAnnotation] = defaultStr
 | 
							sc.Annotations[storageutil.BetaIsDefaultStorageClassAnnotation] = defaultStr
 | 
				
			||||||
 | 
							sc.Annotations[storageutil.IsDefaultStorageClassAnnotation] = defaultStr
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sc, err = c.StorageV1().StorageClasses().Update(sc)
 | 
						sc, err = c.StorageV1().StorageClasses().Update(sc)
 | 
				
			||||||
@@ -447,18 +447,23 @@ func runInPodWithVolume(c clientset.Interface, ns, claimName, command string) {
 | 
				
			|||||||
	framework.ExpectNoError(framework.WaitForPodSuccessInNamespaceSlow(c, pod.Name, pod.Namespace))
 | 
						framework.ExpectNoError(framework.WaitForPodSuccessInNamespaceSlow(c, pod.Name, pod.Namespace))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newStorageClass(pluginName, suffix string) *storage.StorageClass {
 | 
					func getDefaultPluginName() string {
 | 
				
			||||||
	if pluginName == "" {
 | 
					 | 
				
			||||||
	switch {
 | 
						switch {
 | 
				
			||||||
	case framework.ProviderIs("gke"), framework.ProviderIs("gce"):
 | 
						case framework.ProviderIs("gke"), framework.ProviderIs("gce"):
 | 
				
			||||||
			pluginName = "kubernetes.io/gce-pd"
 | 
							return "kubernetes.io/gce-pd"
 | 
				
			||||||
	case framework.ProviderIs("aws"):
 | 
						case framework.ProviderIs("aws"):
 | 
				
			||||||
			pluginName = "kubernetes.io/aws-ebs"
 | 
							return "kubernetes.io/aws-ebs"
 | 
				
			||||||
	case framework.ProviderIs("openstack"):
 | 
						case framework.ProviderIs("openstack"):
 | 
				
			||||||
			pluginName = "kubernetes.io/cinder"
 | 
							return "kubernetes.io/cinder"
 | 
				
			||||||
	case framework.ProviderIs("vsphere"):
 | 
						case framework.ProviderIs("vsphere"):
 | 
				
			||||||
			pluginName = "kubernetes.io/vsphere-volume"
 | 
							return "kubernetes.io/vsphere-volume"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func newStorageClass(pluginName, suffix string) *storage.StorageClass {
 | 
				
			||||||
 | 
						if pluginName == "" {
 | 
				
			||||||
 | 
							pluginName = getDefaultPluginName()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return &storage.StorageClass{
 | 
						return &storage.StorageClass{
 | 
				
			||||||
@@ -472,6 +477,24 @@ func newStorageClass(pluginName, suffix string) *storage.StorageClass {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TODO: remove when storage.k8s.io/v1beta1 and beta storage class annotations
 | 
				
			||||||
 | 
					// are removed.
 | 
				
			||||||
 | 
					func newBetaStorageClass(pluginName, suffix string) *storagebeta.StorageClass {
 | 
				
			||||||
 | 
						if pluginName == "" {
 | 
				
			||||||
 | 
							pluginName = getDefaultPluginName()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return &storagebeta.StorageClass{
 | 
				
			||||||
 | 
							TypeMeta: metav1.TypeMeta{
 | 
				
			||||||
 | 
								Kind: "StorageClass",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
 | 
								Name: "myclass-" + suffix,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							Provisioner: pluginName,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func startExternalProvisioner(c clientset.Interface, ns string) *v1.Pod {
 | 
					func startExternalProvisioner(c clientset.Interface, ns string) *v1.Pod {
 | 
				
			||||||
	podClient := c.Core().Pods(ns)
 | 
						podClient := c.Core().Pods(ns)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user