test/e2e/storage:Use e2eskipper package

Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
This commit is contained in:
yuxiaobo 2020-01-13 14:04:10 +08:00
parent 36e40fb850
commit 73fb0ab5ec
55 changed files with 214 additions and 159 deletions

View File

@ -73,6 +73,7 @@ go_library(
"//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/providers/gce:go_default_library",
"//test/e2e/framework/pv:go_default_library", "//test/e2e/framework/pv:go_default_library",
"//test/e2e/framework/rc:go_default_library", "//test/e2e/framework/rc:go_default_library",
"//test/e2e/framework/skipper:go_default_library",
"//test/e2e/framework/ssh:go_default_library", "//test/e2e/framework/ssh:go_default_library",
"//test/e2e/framework/statefulset:go_default_library", "//test/e2e/framework/statefulset:go_default_library",
"//test/e2e/framework/testfiles:go_default_library", "//test/e2e/framework/testfiles:go_default_library",

View File

@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -52,10 +53,10 @@ var _ = utils.SIGDescribe("Detaching volumes", func() {
var suffix string var suffix string
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "local") e2eskipper.SkipUnlessProviderIs("gce", "local")
framework.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
cs = f.ClientSet cs = f.ClientSet
ns = f.Namespace ns = f.Namespace
@ -66,7 +67,7 @@ var _ = utils.SIGDescribe("Detaching volumes", func() {
}) })
ginkgo.It("should not work when mount is in progress [Slow]", func() { ginkgo.It("should not work when mount is in progress [Slow]", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
driver := "attachable-with-long-mount" driver := "attachable-with-long-mount"
driverInstallAs := driver + "-" + suffix driverInstallAs := driver + "-" + suffix

View File

@ -28,6 +28,7 @@ go_library(
"//test/e2e/framework/node:go_default_library", "//test/e2e/framework/node:go_default_library",
"//test/e2e/framework/pod:go_default_library", "//test/e2e/framework/pod:go_default_library",
"//test/e2e/framework/pv:go_default_library", "//test/e2e/framework/pv:go_default_library",
"//test/e2e/framework/skipper:go_default_library",
"//test/e2e/framework/volume:go_default_library", "//test/e2e/framework/volume:go_default_library",
"//test/e2e/storage/testpatterns:go_default_library", "//test/e2e/storage/testpatterns:go_default_library",
"//test/e2e/storage/testsuites:go_default_library", "//test/e2e/storage/testsuites:go_default_library",

View File

@ -52,6 +52,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
@ -134,7 +135,7 @@ func (h *hostpathCSIDriver) GetDriverInfo() *testsuites.DriverInfo {
func (h *hostpathCSIDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (h *hostpathCSIDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
if pattern.VolType == testpatterns.CSIInlineVolume && len(h.volumeAttributes) == 0 { if pattern.VolType == testpatterns.CSIInlineVolume && len(h.volumeAttributes) == 0 {
framework.Skipf("%s has no volume attributes defined, doesn't support ephemeral inline volumes", h.driverInfo.Name) e2eskipper.Skipf("%s has no volume attributes defined, doesn't support ephemeral inline volumes", h.driverInfo.Name)
} }
} }
@ -397,12 +398,12 @@ func (g *gcePDCSIDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (g *gcePDCSIDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (g *gcePDCSIDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
if pattern.FsType == "xfs" { if pattern.FsType == "xfs" {
framework.SkipUnlessNodeOSDistroIs("ubuntu", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("ubuntu", "custom")
} }
if pattern.FeatureTag == "[sig-windows]" { if pattern.FeatureTag == "[sig-windows]" {
framework.Skipf("Skipping tests for windows since CSI does not support it yet") e2eskipper.Skipf("Skipping tests for windows since CSI does not support it yet")
} }
} }

View File

@ -57,6 +57,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
@ -260,7 +261,7 @@ func (g *glusterFSDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (g *glusterFSDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (g *glusterFSDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessNodeOSDistroIs("gci", "ubuntu", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("gci", "ubuntu", "custom")
} }
func (g *glusterFSDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource { func (g *glusterFSDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource {
@ -1076,7 +1077,7 @@ func (c *cinderDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (c *cinderDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (c *cinderDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("openstack") e2eskipper.SkipUnlessProviderIs("openstack")
} }
func (c *cinderDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource { func (c *cinderDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource {
@ -1251,9 +1252,9 @@ func (g *gcePdDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (g *gcePdDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (g *gcePdDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
if pattern.FeatureTag == "[sig-windows]" { if pattern.FeatureTag == "[sig-windows]" {
framework.SkipUnlessNodeOSDistroIs("windows") e2eskipper.SkipUnlessNodeOSDistroIs("windows")
} }
} }
@ -1379,7 +1380,7 @@ func (v *vSphereDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (v *vSphereDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (v *vSphereDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
} }
func (v *vSphereDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource { func (v *vSphereDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource {
@ -1508,7 +1509,7 @@ func (a *azureDiskDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (a *azureDiskDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (a *azureDiskDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("azure") e2eskipper.SkipUnlessProviderIs("azure")
} }
func (a *azureDiskDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource { func (a *azureDiskDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource {
@ -1641,7 +1642,7 @@ func (a *awsDriver) GetDriverInfo() *testsuites.DriverInfo {
} }
func (a *awsDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { func (a *awsDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
framework.SkipUnlessProviderIs("aws") e2eskipper.SkipUnlessProviderIs("aws")
} }
func (a *awsDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource { func (a *awsDriver) GetVolumeSource(readOnly bool, fsType string, volume testsuites.TestVolume) *v1.VolumeSource {
@ -1837,7 +1838,7 @@ func (l *localDriver) PrepareTest(f *framework.Framework) (*testsuites.PerTestCo
num, err := strconv.Atoi(strings.TrimSpace(res)) num, err := strconv.Atoi(strings.TrimSpace(res))
framework.ExpectNoError(err) framework.ExpectNoError(err)
if num < 1 { if num < 1 {
framework.Skipf("Requires at least 1 %s %s localSSD ", ssdInterface, filesystemType) e2eskipper.Skipf("Requires at least 1 %s %s localSSD ", ssdInterface, filesystemType)
} }
} }

View File

@ -15,6 +15,7 @@ go_library(
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
"//test/e2e/framework:go_default_library", "//test/e2e/framework:go_default_library",
"//test/e2e/framework/config:go_default_library", "//test/e2e/framework/config:go_default_library",
"//test/e2e/framework/skipper:go_default_library",
"//test/e2e/framework/volume:go_default_library", "//test/e2e/framework/volume:go_default_library",
"//test/e2e/storage/testpatterns:go_default_library", "//test/e2e/storage/testpatterns:go_default_library",
"//test/e2e/storage/testsuites:go_default_library", "//test/e2e/storage/testsuites:go_default_library",

View File

@ -31,6 +31,7 @@ import (
"k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/kubernetes/scheme"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework/config" "k8s.io/kubernetes/test/e2e/framework/config"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
@ -239,7 +240,7 @@ func (d *driverDefinition) SkipUnsupportedTest(pattern testpatterns.TestPattern)
supported = len(d.InlineVolumes) != 0 supported = len(d.InlineVolumes) != 0
} }
if !supported { if !supported {
framework.Skipf("Driver %q does not support volume type %q - skipping", d.DriverInfo.Name, pattern.VolType) e2eskipper.Skipf("Driver %q does not support volume type %q - skipping", d.DriverInfo.Name, pattern.VolType)
} }
supported = false supported = false
@ -252,7 +253,7 @@ func (d *driverDefinition) SkipUnsupportedTest(pattern testpatterns.TestPattern)
} }
} }
if !supported { if !supported {
framework.Skipf("Driver %q does not support snapshot type %q - skipping", d.DriverInfo.Name, pattern.SnapshotType) e2eskipper.Skipf("Driver %q does not support snapshot type %q - skipping", d.DriverInfo.Name, pattern.SnapshotType)
} }
} }
@ -294,7 +295,7 @@ func (d *driverDefinition) GetDynamicProvisionStorageClass(config *testsuites.Pe
func (d *driverDefinition) GetSnapshotClass(config *testsuites.PerTestConfig) *unstructured.Unstructured { func (d *driverDefinition) GetSnapshotClass(config *testsuites.PerTestConfig) *unstructured.Unstructured {
if !d.SnapshotClass.FromName { if !d.SnapshotClass.FromName {
framework.Skipf("Driver %q does not support snapshotting - skipping", d.DriverInfo.Name) e2eskipper.Skipf("Driver %q does not support snapshotting - skipping", d.DriverInfo.Name)
} }
snapshotter := d.DriverInfo.Name snapshotter := d.DriverInfo.Name
@ -307,7 +308,7 @@ func (d *driverDefinition) GetSnapshotClass(config *testsuites.PerTestConfig) *u
func (d *driverDefinition) GetVolume(config *testsuites.PerTestConfig, volumeNumber int) (map[string]string, bool, bool) { func (d *driverDefinition) GetVolume(config *testsuites.PerTestConfig, volumeNumber int) (map[string]string, bool, bool) {
if len(d.InlineVolumes) == 0 { if len(d.InlineVolumes) == 0 {
framework.Skipf("%s does not have any InlineVolumeAttributes defined", d.DriverInfo.Name) e2eskipper.Skipf("%s does not have any InlineVolumeAttributes defined", d.DriverInfo.Name)
} }
volume := d.InlineVolumes[volumeNumber%len(d.InlineVolumes)] volume := d.InlineVolumes[volumeNumber%len(d.InlineVolumes)]
return volume.Attributes, volume.Shared, volume.ReadOnly return volume.Attributes, volume.Shared, volume.ReadOnly

View File

@ -29,6 +29,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"k8s.io/kubernetes/test/e2e/framework/testfiles" "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
@ -165,10 +166,10 @@ var _ = utils.SIGDescribe("Flexvolumes", func() {
var suffix string var suffix string
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "local") e2eskipper.SkipUnlessProviderIs("gce", "local")
framework.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
cs = f.ClientSet cs = f.ClientSet
ns = f.Namespace ns = f.Namespace

View File

@ -34,6 +34,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -60,10 +61,10 @@ var _ = utils.SIGDescribe("Mounted flexvolume expand[Slow]", func() {
f := framework.NewDefaultFramework("mounted-flexvolume-expand") f := framework.NewDefaultFramework("mounted-flexvolume-expand")
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("aws", "gce", "local") e2eskipper.SkipUnlessProviderIs("aws", "gce", "local")
framework.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout)) framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout))

View File

@ -32,6 +32,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -53,10 +54,10 @@ var _ = utils.SIGDescribe("Mounted flexvolume volume expand [Slow] [Feature:Expa
f := framework.NewDefaultFramework("mounted-flexvolume-expand") f := framework.NewDefaultFramework("mounted-flexvolume-expand")
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("aws", "gce", "local") e2eskipper.SkipUnlessProviderIs("aws", "gce", "local")
framework.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessMasterOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom") e2eskipper.SkipUnlessNodeOSDistroIs("debian", "ubuntu", "gci", "custom")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout)) framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout))
@ -117,7 +118,7 @@ var _ = utils.SIGDescribe("Mounted flexvolume volume expand [Slow] [Feature:Expa
}) })
ginkgo.It("should be resizable when mounted", func() { ginkgo.It("should be resizable when mounted", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
driver := "dummy-attachable" driver := "dummy-attachable"

View File

@ -24,6 +24,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -37,8 +38,8 @@ var _ = utils.SIGDescribe("GenericPersistentVolume[Disruptive]", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Skip tests unless number of nodes is 2 // Skip tests unless number of nodes is 2
framework.SkipUnlessNodeCountIsAtLeast(2) e2eskipper.SkipUnlessNodeCountIsAtLeast(2)
framework.SkipIfProviderIs("local") e2eskipper.SkipIfProviderIs("local")
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
}) })

View File

@ -35,6 +35,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -54,7 +55,7 @@ var _ = utils.SIGDescribe("Mounted volume expand", func() {
f := framework.NewDefaultFramework("mounted-volume-expand") f := framework.NewDefaultFramework("mounted-volume-expand")
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("aws", "gce") e2eskipper.SkipUnlessProviderIs("aws", "gce")
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout)) framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout))

View File

@ -33,6 +33,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -88,8 +89,8 @@ var _ = utils.SIGDescribe("NFSPersistentVolumes[Disruptive][Flaky]", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// To protect the NFS volume pod from the kubelet restart, we isolate it on its own node. // To protect the NFS volume pod from the kubelet restart, we isolate it on its own node.
framework.SkipUnlessNodeCountIsAtLeast(minNodes) e2eskipper.SkipUnlessNodeCountIsAtLeast(minNodes)
framework.SkipIfProviderIs("local") e2eskipper.SkipIfProviderIs("local")
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
@ -146,8 +147,8 @@ var _ = utils.SIGDescribe("NFSPersistentVolumes[Disruptive][Flaky]", func() {
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ginkgo.By("Initializing first PD with PVPVC binding") ginkgo.By("Initializing first PD with PVPVC binding")
pvSource1, diskName1 = createGCEVolume() pvSource1, diskName1 = createGCEVolume()
@ -204,7 +205,7 @@ var _ = utils.SIGDescribe("NFSPersistentVolumes[Disruptive][Flaky]", func() {
}) })
ginkgo.It("should delete a bound PVC from a clientPod, restart the kube-control-manager, and ensure the kube-controller-manager does not crash", func() { ginkgo.It("should delete a bound PVC from a clientPod, restart the kube-control-manager, and ensure the kube-controller-manager does not crash", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ginkgo.By("Deleting PVC for volume 2") ginkgo.By("Deleting PVC for volume 2")
err = e2epv.DeletePersistentVolumeClaim(c, pvc2.Name, ns) err = e2epv.DeletePersistentVolumeClaim(c, pvc2.Name, ns)

View File

@ -45,6 +45,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
) )
@ -71,11 +72,11 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
f := framework.NewDefaultFramework("pod-disks") f := framework.NewDefaultFramework("pod-disks")
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessNodeCountIsAtLeast(minNodes) e2eskipper.SkipUnlessNodeCountIsAtLeast(minNodes)
cs = f.ClientSet cs = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
framework.SkipIfMultizone(cs) e2eskipper.SkipIfMultizone(cs)
podClient = cs.CoreV1().Pods(ns) podClient = cs.CoreV1().Pods(ns)
nodeClient = cs.CoreV1().Nodes() nodeClient = cs.CoreV1().Nodes()
@ -130,9 +131,9 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
readOnlyTxt := readOnlyMap[readOnly] readOnlyTxt := readOnlyMap[readOnly]
ginkgo.It(fmt.Sprintf("for %s PD with pod delete grace period of %q", readOnlyTxt, t.descr), func() { ginkgo.It(fmt.Sprintf("for %s PD with pod delete grace period of %q", readOnlyTxt, t.descr), func() {
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
if readOnly { if readOnly {
framework.SkipIfProviderIs("aws") e2eskipper.SkipIfProviderIs("aws")
} }
ginkgo.By("creating PD") ginkgo.By("creating PD")
@ -249,7 +250,7 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
numContainers := t.numContainers numContainers := t.numContainers
ginkgo.It(fmt.Sprintf("using %d containers and %d PDs", numContainers, numPDs), func() { ginkgo.It(fmt.Sprintf("using %d containers and %d PDs", numContainers, numPDs), func() {
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
var host0Pod *v1.Pod var host0Pod *v1.Pod
var err error var err error
fileAndContentToVerify := make(map[string]string) fileAndContentToVerify := make(map[string]string)
@ -343,7 +344,7 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
for _, t := range tests { for _, t := range tests {
disruptOp := t.disruptOp disruptOp := t.disruptOp
ginkgo.It(fmt.Sprintf("when %s", t.descr), func() { ginkgo.It(fmt.Sprintf("when %s", t.descr), func() {
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
origNodeCnt := len(nodes.Items) // healhy nodes running kubelet origNodeCnt := len(nodes.Items) // healhy nodes running kubelet
ginkgo.By("creating a pd") ginkgo.By("creating a pd")
@ -444,7 +445,7 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
}) })
ginkgo.It("should be able to delete a non-existent PD without error", func() { ginkgo.It("should be able to delete a non-existent PD without error", func() {
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
ginkgo.By("delete a PD") ginkgo.By("delete a PD")
framework.ExpectNoError(e2epv.DeletePDWithRetry("non-exist")) framework.ExpectNoError(e2epv.DeletePDWithRetry("non-exist"))

View File

@ -28,6 +28,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -79,7 +80,7 @@ var _ = utils.SIGDescribe("PersistentVolumes GCEPD", func() {
volLabel = labels.Set{e2epv.VolumeSelectorKey: ns} volLabel = labels.Set{e2epv.VolumeSelectorKey: ns}
selector = metav1.SetAsLabelSelector(volLabel) selector = metav1.SetAsLabelSelector(volLabel)
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
ginkgo.By("Initializing Test Spec") ginkgo.By("Initializing Test Spec")
diskName, err = e2epv.CreatePDWithRetry() diskName, err = e2epv.CreatePDWithRetry()
framework.ExpectNoError(err) framework.ExpectNoError(err)

View File

@ -42,6 +42,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -254,7 +255,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
ginkgo.Context("Set fsGroup for local volume", func() { ginkgo.Context("Set fsGroup for local volume", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
if testVolType == BlockLocalVolumeType { if testVolType == BlockLocalVolumeType {
framework.Skipf("We don't set fsGroup on block device, skipped.") e2eskipper.Skipf("We don't set fsGroup on block device, skipped.")
} }
}) })
@ -278,7 +279,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
}) })
ginkgo.It("should set different fsGroup for second pod if first pod is deleted", func() { ginkgo.It("should set different fsGroup for second pod if first pod is deleted", func() {
framework.Skipf("Disabled temporarily, reopen after #73168 is fixed") e2eskipper.Skipf("Disabled temporarily, reopen after #73168 is fixed")
fsGroup1, fsGroup2 := int64(1234), int64(4321) fsGroup1, fsGroup2 := int64(1234), int64(4321)
ginkgo.By("Create first pod and check fsGroup is set") ginkgo.By("Create first pod and check fsGroup is set")
pod1 := createPodWithFsGroupTest(config, testVol, fsGroup1, fsGroup1) pod1 := createPodWithFsGroupTest(config, testVol, fsGroup1, fsGroup1)
@ -317,7 +318,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
ginkgo.It("should fail due to wrong node", func() { ginkgo.It("should fail due to wrong node", func() {
if len(config.nodes) < 2 { if len(config.nodes) < 2 {
framework.Skipf("Runs only when number of nodes >= 2") e2eskipper.Skipf("Runs only when number of nodes >= 2")
} }
testVols := setupLocalVolumesPVCsPVs(config, DirectoryLocalVolumeType, config.node0, 1, immediateMode) testVols := setupLocalVolumesPVCsPVs(config, DirectoryLocalVolumeType, config.node0, 1, immediateMode)
@ -342,7 +343,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
if len(config.nodes) < 2 { if len(config.nodes) < 2 {
framework.Skipf("Runs only when number of nodes >= 2") e2eskipper.Skipf("Runs only when number of nodes >= 2")
} }
volumeType = DirectoryLocalVolumeType volumeType = DirectoryLocalVolumeType
@ -393,7 +394,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
ginkgo.It("should use volumes spread across nodes when pod has anti-affinity", func() { ginkgo.It("should use volumes spread across nodes when pod has anti-affinity", func() {
if len(config.nodes) < ssReplicas { if len(config.nodes) < ssReplicas {
framework.Skipf("Runs only when number of nodes >= %v", ssReplicas) e2eskipper.Skipf("Runs only when number of nodes >= %v", ssReplicas)
} }
ginkgo.By("Creating a StatefulSet with pod anti-affinity on nodes") ginkgo.By("Creating a StatefulSet with pod anti-affinity on nodes")
ss := createStatefulSet(config, ssReplicas, volsPerNode, true, false) ss := createStatefulSet(config, ssReplicas, volsPerNode, true, false)
@ -408,7 +409,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
ginkgo.It("should use volumes spread across nodes when pod management is parallel and pod has anti-affinity", func() { ginkgo.It("should use volumes spread across nodes when pod management is parallel and pod has anti-affinity", func() {
if len(config.nodes) < ssReplicas { if len(config.nodes) < ssReplicas {
framework.Skipf("Runs only when number of nodes >= %v", ssReplicas) e2eskipper.Skipf("Runs only when number of nodes >= %v", ssReplicas)
} }
ginkgo.By("Creating a StatefulSet with pod anti-affinity on nodes") ginkgo.By("Creating a StatefulSet with pod anti-affinity on nodes")
ss := createStatefulSet(config, ssReplicas, 1, true, true) ss := createStatefulSet(config, ssReplicas, 1, true, true)
@ -1188,6 +1189,6 @@ func SkipUnlessLocalSSDExists(config *localTestConfig, ssdInterface, filesystemT
num, err := strconv.Atoi(strings.TrimSpace(res.Stdout)) num, err := strconv.Atoi(strings.TrimSpace(res.Stdout))
framework.ExpectNoError(err) framework.ExpectNoError(err)
if num < 1 { if num < 1 {
framework.Skipf("Requires at least 1 %s %s localSSD ", ssdInterface, filesystemType) e2eskipper.Skipf("Requires at least 1 %s %s localSSD ", ssdInterface, filesystemType)
} }
} }

View File

@ -31,6 +31,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -318,7 +319,7 @@ var _ = utils.SIGDescribe("PersistentVolumes", func() {
ginkgo.It("should be reschedulable [Slow]", func() { ginkgo.It("should be reschedulable [Slow]", func() {
// Only run on providers with default storageclass // Only run on providers with default storageclass
framework.SkipUnlessProviderIs("openstack", "gce", "gke", "vsphere", "azure") e2eskipper.SkipUnlessProviderIs("openstack", "gce", "gke", "vsphere", "azure")
numVols := 4 numVols := 4

View File

@ -41,6 +41,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -65,8 +66,8 @@ var _ = utils.SIGDescribe("Regional PD", func() {
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
framework.SkipUnlessMultizone(c) e2eskipper.SkipUnlessMultizone(c)
}) })
ginkgo.Describe("RegionalPD", func() { ginkgo.Describe("RegionalPD", func() {

View File

@ -51,6 +51,7 @@ go_library(
"//test/e2e/framework/pod:go_default_library", "//test/e2e/framework/pod:go_default_library",
"//test/e2e/framework/podlogs:go_default_library", "//test/e2e/framework/podlogs:go_default_library",
"//test/e2e/framework/pv:go_default_library", "//test/e2e/framework/pv:go_default_library",
"//test/e2e/framework/skipper:go_default_library",
"//test/e2e/framework/volume:go_default_library", "//test/e2e/framework/volume:go_default_library",
"//test/e2e/storage/testpatterns:go_default_library", "//test/e2e/storage/testpatterns:go_default_library",
"//test/e2e/storage/utils:go_default_library", "//test/e2e/storage/utils:go_default_library",

View File

@ -43,6 +43,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework/metrics" "k8s.io/kubernetes/test/e2e/framework/metrics"
"k8s.io/kubernetes/test/e2e/framework/podlogs" "k8s.io/kubernetes/test/e2e/framework/podlogs"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
) )
@ -126,7 +127,7 @@ func skipUnsupportedTest(driver TestDriver, pattern testpatterns.TestPattern) {
isSupported = false isSupported = false
} }
if !isSupported { if !isSupported {
framework.Skipf("Driver %s doesn't support snapshot type %v -- skipping", dInfo.Name, pattern.SnapshotType) e2eskipper.Skipf("Driver %s doesn't support snapshot type %v -- skipping", dInfo.Name, pattern.SnapshotType)
} }
} else { } else {
// 2. Check if Whether volType is supported by driver from its interface // 2. Check if Whether volType is supported by driver from its interface
@ -144,18 +145,18 @@ func skipUnsupportedTest(driver TestDriver, pattern testpatterns.TestPattern) {
} }
if !isSupported { if !isSupported {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType)
} }
// 3. Check if fsType is supported // 3. Check if fsType is supported
if !dInfo.SupportedFsType.Has(pattern.FsType) { if !dInfo.SupportedFsType.Has(pattern.FsType) {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.FsType) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.FsType)
} }
if pattern.FsType == "xfs" && framework.NodeOSDistroIs("gci", "cos", "windows") { if pattern.FsType == "xfs" && framework.NodeOSDistroIs("gci", "cos", "windows") {
framework.Skipf("Distro doesn't support xfs -- skipping") e2eskipper.Skipf("Distro doesn't support xfs -- skipping")
} }
if pattern.FsType == "ntfs" && !framework.NodeOSDistroIs("windows") { if pattern.FsType == "ntfs" && !framework.NodeOSDistroIs("windows") {
framework.Skipf("Distro %s doesn't support ntfs -- skipping", framework.TestContext.NodeOSDistro) e2eskipper.Skipf("Distro %s doesn't support ntfs -- skipping", framework.TestContext.NodeOSDistro)
} }
} }
@ -251,7 +252,7 @@ func CreateVolumeResource(driver TestDriver, config *PerTestConfig, pattern test
} }
if r.VolSource == nil { if r.VolSource == nil {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType)
} }
return &r return &r
@ -684,7 +685,7 @@ func validateMigrationVolumeOpCounts(cs clientset.Interface, pluginName string,
func skipVolTypePatterns(pattern testpatterns.TestPattern, driver TestDriver, skipVolTypes map[testpatterns.TestVolType]bool) { func skipVolTypePatterns(pattern testpatterns.TestPattern, driver TestDriver, skipVolTypes map[testpatterns.TestVolType]bool) {
_, supportsProvisioning := driver.(DynamicPVTestDriver) _, supportsProvisioning := driver.(DynamicPVTestDriver)
if supportsProvisioning && skipVolTypes[pattern.VolType] { if supportsProvisioning && skipVolTypes[pattern.VolType] {
framework.Skipf("Driver supports dynamic provisioning, skipping %s pattern", pattern.VolType) e2eskipper.Skipf("Driver supports dynamic provisioning, skipping %s pattern", pattern.VolType)
} }
} }

View File

@ -25,6 +25,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -91,7 +92,7 @@ func (s *disruptiveTestSuite) DefineTests(driver TestDriver, pattern testpattern
l.config, l.driverCleanup = driver.PrepareTest(f) l.config, l.driverCleanup = driver.PrepareTest(f)
if pattern.VolMode == v1.PersistentVolumeBlock && !driver.GetDriverInfo().Capabilities[CapBlock] { if pattern.VolMode == v1.PersistentVolumeBlock && !driver.GetDriverInfo().Capabilities[CapBlock] {
framework.Skipf("Driver %s doesn't support %v -- skipping", driver.GetDriverInfo().Name, pattern.VolMode) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", driver.GetDriverInfo().Name, pattern.VolMode)
} }
testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange

View File

@ -30,6 +30,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
storageutils "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
@ -80,7 +81,7 @@ func (p *ephemeralTestSuite) DefineTests(driver TestDriver, pattern testpatterns
ok := false ok := false
eDriver, ok = driver.(EphemeralTestDriver) eDriver, ok = driver.(EphemeralTestDriver)
if !ok { if !ok {
framework.Skipf("Driver %s doesn't support ephemeral inline volumes -- skipping", dInfo.Name) e2eskipper.Skipf("Driver %s doesn't support ephemeral inline volumes -- skipping", dInfo.Name)
} }
}) })
@ -246,7 +247,7 @@ func (t EphemeralTest) TestEphemeral() {
VolumeAttributes: attributes, VolumeAttributes: attributes,
} }
if readOnly && !t.ReadOnly { if readOnly && !t.ReadOnly {
framework.Skipf("inline ephemeral volume #%d is read-only, but the test needs a read/write volume", i) e2eskipper.Skipf("inline ephemeral volume #%d is read-only, but the test needs a read/write volume", i)
} }
csiVolumes = append(csiVolumes, csi) csiVolumes = append(csiVolumes, csi)
} }

View File

@ -30,6 +30,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -88,7 +89,7 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Check preconditions. // Check preconditions.
if pattern.VolMode == v1.PersistentVolumeBlock && !dInfo.Capabilities[CapBlock] { if pattern.VolMode == v1.PersistentVolumeBlock && !dInfo.Capabilities[CapBlock] {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolMode) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolMode)
} }
}) })
@ -131,7 +132,7 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// because containerized storage servers, such as iSCSI and rbd, are just returning // because containerized storage servers, such as iSCSI and rbd, are just returning
// a static volume inside container, not actually creating a new volume per request. // a static volume inside container, not actually creating a new volume per request.
if pattern.VolType == testpatterns.PreprovisionedPV { if pattern.VolType == testpatterns.PreprovisionedPV {
framework.Skipf("This test doesn't work with pre-provisioned volume -- skipping") e2eskipper.Skipf("This test doesn't work with pre-provisioned volume -- skipping")
} }
init() init()
@ -161,7 +162,7 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// because containerized storage servers, such as iSCSI and rbd, are just returning // because containerized storage servers, such as iSCSI and rbd, are just returning
// a static volume inside container, not actually creating a new volume per request. // a static volume inside container, not actually creating a new volume per request.
if pattern.VolType == testpatterns.PreprovisionedPV { if pattern.VolType == testpatterns.PreprovisionedPV {
framework.Skipf("This test doesn't work with pre-provisioned volume -- skipping") e2eskipper.Skipf("This test doesn't work with pre-provisioned volume -- skipping")
} }
init() init()
@ -169,15 +170,15 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// Check different-node test requirement // Check different-node test requirement
if l.driver.GetDriverInfo().Capabilities[CapSingleNodeVolume] { if l.driver.GetDriverInfo().Capabilities[CapSingleNodeVolume] {
framework.Skipf("Driver %s only supports %v -- skipping", l.driver.GetDriverInfo().Name, CapSingleNodeVolume) e2eskipper.Skipf("Driver %s only supports %v -- skipping", l.driver.GetDriverInfo().Name, CapSingleNodeVolume)
} }
nodes, err := e2enode.GetReadySchedulableNodes(l.cs) nodes, err := e2enode.GetReadySchedulableNodes(l.cs)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < 2 { if len(nodes.Items) < 2 {
framework.Skipf("Number of available nodes is less than 2 - skipping") e2eskipper.Skipf("Number of available nodes is less than 2 - skipping")
} }
if l.config.ClientNodeName != "" { if l.config.ClientNodeName != "" {
framework.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name)
} }
var pvcs []*v1.PersistentVolumeClaim var pvcs []*v1.PersistentVolumeClaim
@ -201,14 +202,14 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// [volume1] [volume2] [volume1] [volume2] // [volume1] [volume2] [volume1] [volume2]
ginkgo.It("should access to two volumes with different volume mode and retain data across pod recreation on the same node", func() { ginkgo.It("should access to two volumes with different volume mode and retain data across pod recreation on the same node", func() {
if pattern.VolMode == v1.PersistentVolumeFilesystem { if pattern.VolMode == v1.PersistentVolumeFilesystem {
framework.Skipf("Filesystem volume case should be covered by block volume case -- skipping") e2eskipper.Skipf("Filesystem volume case should be covered by block volume case -- skipping")
} }
// Currently, multiple volumes are not generally available for pre-provisoined volume, // Currently, multiple volumes are not generally available for pre-provisoined volume,
// because containerized storage servers, such as iSCSI and rbd, are just returning // because containerized storage servers, such as iSCSI and rbd, are just returning
// a static volume inside container, not actually creating a new volume per request. // a static volume inside container, not actually creating a new volume per request.
if pattern.VolType == testpatterns.PreprovisionedPV { if pattern.VolType == testpatterns.PreprovisionedPV {
framework.Skipf("This test doesn't work with pre-provisioned volume -- skipping") e2eskipper.Skipf("This test doesn't work with pre-provisioned volume -- skipping")
} }
init() init()
@ -240,14 +241,14 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// [volume1] [volume2] [volume1] [volume2] // [volume1] [volume2] [volume1] [volume2]
ginkgo.It("should access to two volumes with different volume mode and retain data across pod recreation on different node", func() { ginkgo.It("should access to two volumes with different volume mode and retain data across pod recreation on different node", func() {
if pattern.VolMode == v1.PersistentVolumeFilesystem { if pattern.VolMode == v1.PersistentVolumeFilesystem {
framework.Skipf("Filesystem volume case should be covered by block volume case -- skipping") e2eskipper.Skipf("Filesystem volume case should be covered by block volume case -- skipping")
} }
// Currently, multiple volumes are not generally available for pre-provisoined volume, // Currently, multiple volumes are not generally available for pre-provisoined volume,
// because containerized storage servers, such as iSCSI and rbd, are just returning // because containerized storage servers, such as iSCSI and rbd, are just returning
// a static volume inside container, not actually creating a new volume per request. // a static volume inside container, not actually creating a new volume per request.
if pattern.VolType == testpatterns.PreprovisionedPV { if pattern.VolType == testpatterns.PreprovisionedPV {
framework.Skipf("This test doesn't work with pre-provisioned volume -- skipping") e2eskipper.Skipf("This test doesn't work with pre-provisioned volume -- skipping")
} }
init() init()
@ -255,15 +256,15 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
// Check different-node test requirement // Check different-node test requirement
if l.driver.GetDriverInfo().Capabilities[CapSingleNodeVolume] { if l.driver.GetDriverInfo().Capabilities[CapSingleNodeVolume] {
framework.Skipf("Driver %s only supports %v -- skipping", l.driver.GetDriverInfo().Name, CapSingleNodeVolume) e2eskipper.Skipf("Driver %s only supports %v -- skipping", l.driver.GetDriverInfo().Name, CapSingleNodeVolume)
} }
nodes, err := e2enode.GetReadySchedulableNodes(l.cs) nodes, err := e2enode.GetReadySchedulableNodes(l.cs)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < 2 { if len(nodes.Items) < 2 {
framework.Skipf("Number of available nodes is less than 2 - skipping") e2eskipper.Skipf("Number of available nodes is less than 2 - skipping")
} }
if l.config.ClientNodeName != "" { if l.config.ClientNodeName != "" {
framework.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name)
} }
var pvcs []*v1.PersistentVolumeClaim var pvcs []*v1.PersistentVolumeClaim
@ -297,7 +298,7 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
numPods := 2 numPods := 2
if !l.driver.GetDriverInfo().Capabilities[CapMultiPODs] { if !l.driver.GetDriverInfo().Capabilities[CapMultiPODs] {
framework.Skipf("Driver %q does not support multiple concurrent pods - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support multiple concurrent pods - skipping", dInfo.Name)
} }
// Create volume // Create volume
@ -322,17 +323,17 @@ func (t *multiVolumeTestSuite) DefineTests(driver TestDriver, pattern testpatter
numPods := 2 numPods := 2
if !l.driver.GetDriverInfo().Capabilities[CapRWX] { if !l.driver.GetDriverInfo().Capabilities[CapRWX] {
framework.Skipf("Driver %s doesn't support %v -- skipping", l.driver.GetDriverInfo().Name, CapRWX) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", l.driver.GetDriverInfo().Name, CapRWX)
} }
// Check different-node test requirement // Check different-node test requirement
nodes, err := e2enode.GetReadySchedulableNodes(l.cs) nodes, err := e2enode.GetReadySchedulableNodes(l.cs)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < numPods { if len(nodes.Items) < numPods {
framework.Skipf(fmt.Sprintf("Number of available nodes is less than %d - skipping", numPods)) e2eskipper.Skipf(fmt.Sprintf("Number of available nodes is less than %d - skipping", numPods))
} }
if l.config.ClientNodeName != "" { if l.config.ClientNodeName != "" {
framework.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q requires to deploy on a specific node - skipping", l.driver.GetDriverInfo().Name)
} }
// Create volume // Create volume

View File

@ -35,6 +35,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
) )
@ -111,12 +112,12 @@ func (p *provisioningTestSuite) DefineTests(driver TestDriver, pattern testpatte
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Check preconditions. // Check preconditions.
if pattern.VolType != testpatterns.DynamicPV { if pattern.VolType != testpatterns.DynamicPV {
framework.Skipf("Suite %q does not support %v", p.tsInfo.Name, pattern.VolType) e2eskipper.Skipf("Suite %q does not support %v", p.tsInfo.Name, pattern.VolType)
} }
ok := false ok := false
dDriver, ok = driver.(DynamicPVTestDriver) dDriver, ok = driver.(DynamicPVTestDriver)
if !ok { if !ok {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType)
} }
}) })
@ -140,7 +141,7 @@ func (p *provisioningTestSuite) DefineTests(driver TestDriver, pattern testpatte
l.sc = dDriver.GetDynamicProvisionStorageClass(l.config, pattern.FsType) l.sc = dDriver.GetDynamicProvisionStorageClass(l.config, pattern.FsType)
if l.sc == nil { if l.sc == nil {
framework.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", dInfo.Name)
} }
l.pvc = e2epv.MakePersistentVolumeClaim(e2epv.PersistentVolumeClaimConfig{ l.pvc = e2epv.MakePersistentVolumeClaim(e2epv.PersistentVolumeClaimConfig{
ClaimSize: claimSize, ClaimSize: claimSize,
@ -171,7 +172,7 @@ func (p *provisioningTestSuite) DefineTests(driver TestDriver, pattern testpatte
ginkgo.It("should provision storage with mount options", func() { ginkgo.It("should provision storage with mount options", func() {
if dInfo.SupportedMountOption == nil { if dInfo.SupportedMountOption == nil {
framework.Skipf("Driver %q does not define supported mount option - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define supported mount option - skipping", dInfo.Name)
} }
init() init()
@ -186,7 +187,7 @@ func (p *provisioningTestSuite) DefineTests(driver TestDriver, pattern testpatte
ginkgo.It("should provision storage with snapshot data source [Feature:VolumeSnapshotDataSource]", func() { ginkgo.It("should provision storage with snapshot data source [Feature:VolumeSnapshotDataSource]", func() {
if !dInfo.Capabilities[CapSnapshotDataSource] { if !dInfo.Capabilities[CapSnapshotDataSource] {
framework.Skipf("Driver %q does not support populate data from snapshot - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support populate data from snapshot - skipping", dInfo.Name)
} }
sDriver, ok := driver.(SnapshottableTestDriver) sDriver, ok := driver.(SnapshottableTestDriver)
@ -212,7 +213,7 @@ func (p *provisioningTestSuite) DefineTests(driver TestDriver, pattern testpatte
}) })
ginkgo.It("should provision storage with pvc data source", func() { ginkgo.It("should provision storage with pvc data source", func() {
if !dInfo.Capabilities[CapPVCDataSource] { if !dInfo.Capabilities[CapPVCDataSource] {
framework.Skipf("Driver %q does not support cloning - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support cloning - skipping", dInfo.Name)
} }
init() init()

View File

@ -30,6 +30,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
) )
@ -87,11 +88,11 @@ func (s *snapshottableTestSuite) DefineTests(driver TestDriver, pattern testpatt
ok := false ok := false
sDriver, ok = driver.(SnapshottableTestDriver) sDriver, ok = driver.(SnapshottableTestDriver)
if !dInfo.Capabilities[CapSnapshotDataSource] || !ok { if !dInfo.Capabilities[CapSnapshotDataSource] || !ok {
framework.Skipf("Driver %q does not support snapshots - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support snapshots - skipping", dInfo.Name)
} }
dDriver, ok = driver.(DynamicPVTestDriver) dDriver, ok = driver.(DynamicPVTestDriver)
if !ok { if !ok {
framework.Skipf("Driver %q does not support dynamic provisioning - skipping", driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q does not support dynamic provisioning - skipping", driver.GetDriverInfo().Name)
} }
}) })
@ -115,7 +116,7 @@ func (s *snapshottableTestSuite) DefineTests(driver TestDriver, pattern testpatt
vsc := sDriver.GetSnapshotClass(config) vsc := sDriver.GetSnapshotClass(config)
class := dDriver.GetDynamicProvisionStorageClass(config, "") class := dDriver.GetDynamicProvisionStorageClass(config, "")
if class == nil { if class == nil {
framework.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", driver.GetDriverInfo().Name)
} }
testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange
driverVolumeSizeRange := dDriver.GetDriverInfo().SupportedSizeRange driverVolumeSizeRange := dDriver.GetDriverInfo().SupportedSizeRange

View File

@ -35,6 +35,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -352,7 +353,7 @@ func (s *subPathTestSuite) DefineTests(driver TestDriver, pattern testpatterns.T
if strings.HasPrefix(driverName, "hostPath") { if strings.HasPrefix(driverName, "hostPath") {
// TODO: This skip should be removed once #61446 is fixed // TODO: This skip should be removed once #61446 is fixed
framework.Skipf("Driver %s does not support reconstruction, skipping", driverName) e2eskipper.Skipf("Driver %s does not support reconstruction, skipping", driverName)
} }
testSubpathReconstruction(f, l.hostExec, l.pod, true) testSubpathReconstruction(f, l.hostExec, l.pod, true)
@ -392,7 +393,7 @@ func (s *subPathTestSuite) DefineTests(driver TestDriver, pattern testpatterns.T
init() init()
defer cleanup() defer cleanup()
if l.roVolSource == nil { if l.roVolSource == nil {
framework.Skipf("Driver %s on volume type %s doesn't support readOnly source", driverName, pattern.VolType) e2eskipper.Skipf("Driver %s on volume type %s doesn't support readOnly source", driverName, pattern.VolType)
} }
origpod := l.pod.DeepCopy() origpod := l.pod.DeepCopy()
@ -420,7 +421,7 @@ func (s *subPathTestSuite) DefineTests(driver TestDriver, pattern testpatterns.T
init() init()
defer cleanup() defer cleanup()
if l.roVolSource == nil { if l.roVolSource == nil {
framework.Skipf("Driver %s on volume type %s doesn't support readOnly source", driverName, pattern.VolType) e2eskipper.Skipf("Driver %s on volume type %s doesn't support readOnly source", driverName, pattern.VolType)
} }
// Format the volume while it's writable // Format the volume while it's writable

View File

@ -32,6 +32,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
) )
@ -88,11 +89,11 @@ func (t *topologyTestSuite) DefineTests(driver TestDriver, pattern testpatterns.
ok := false ok := false
dDriver, ok = driver.(DynamicPVTestDriver) dDriver, ok = driver.(DynamicPVTestDriver)
if !ok { if !ok {
framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) e2eskipper.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType)
} }
if !dInfo.Capabilities[CapTopology] { if !dInfo.Capabilities[CapTopology] {
framework.Skipf("Driver %q does not support topology - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support topology - skipping", dInfo.Name)
} }
}) })
@ -119,7 +120,7 @@ func (t *topologyTestSuite) DefineTests(driver TestDriver, pattern testpatterns.
cs = f.ClientSet cs = f.ClientSet
keys := dInfo.TopologyKeys keys := dInfo.TopologyKeys
if len(keys) == 0 { if len(keys) == 0 {
framework.Skipf("Driver didn't provide topology keys -- skipping") e2eskipper.Skipf("Driver didn't provide topology keys -- skipping")
} }
if dInfo.NumAllowedTopologies == 0 { if dInfo.NumAllowedTopologies == 0 {
// Any plugin that supports topology defaults to 1 topology // Any plugin that supports topology defaults to 1 topology
@ -130,7 +131,7 @@ func (t *topologyTestSuite) DefineTests(driver TestDriver, pattern testpatterns.
l.allTopologies, err = t.getCurrentTopologies(cs, keys, dInfo.NumAllowedTopologies+1) l.allTopologies, err = t.getCurrentTopologies(cs, keys, dInfo.NumAllowedTopologies+1)
framework.ExpectNoError(err, "failed to get current driver topologies") framework.ExpectNoError(err, "failed to get current driver topologies")
if len(l.allTopologies) < dInfo.NumAllowedTopologies { if len(l.allTopologies) < dInfo.NumAllowedTopologies {
framework.Skipf("Not enough topologies in cluster -- skipping") e2eskipper.Skipf("Not enough topologies in cluster -- skipping")
} }
l.resource.Sc = dDriver.GetDynamicProvisionStorageClass(l.config, pattern.FsType) l.resource.Sc = dDriver.GetDynamicProvisionStorageClass(l.config, pattern.FsType)
@ -194,7 +195,7 @@ func (t *topologyTestSuite) DefineTests(driver TestDriver, pattern testpatterns.
}() }()
if len(l.allTopologies) < dInfo.NumAllowedTopologies+1 { if len(l.allTopologies) < dInfo.NumAllowedTopologies+1 {
framework.Skipf("Not enough topologies in cluster -- skipping") e2eskipper.Skipf("Not enough topologies in cluster -- skipping")
} }
// Exclude one topology // Exclude one topology

View File

@ -32,6 +32,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
) )
@ -92,10 +93,10 @@ func (v *volumeExpandTestSuite) DefineTests(driver TestDriver, pattern testpatte
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Check preconditions. // Check preconditions.
if !driver.GetDriverInfo().Capabilities[CapBlock] && pattern.VolMode == v1.PersistentVolumeBlock { if !driver.GetDriverInfo().Capabilities[CapBlock] && pattern.VolMode == v1.PersistentVolumeBlock {
framework.Skipf("Driver %q does not support block volume mode - skipping", driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q does not support block volume mode - skipping", driver.GetDriverInfo().Name)
} }
if !driver.GetDriverInfo().Capabilities[CapControllerExpansion] { if !driver.GetDriverInfo().Capabilities[CapControllerExpansion] {
framework.Skipf("Driver %q does not support volume expansion - skipping", driver.GetDriverInfo().Name) e2eskipper.Skipf("Driver %q does not support volume expansion - skipping", driver.GetDriverInfo().Name)
} }
}) })

View File

@ -37,6 +37,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -119,7 +120,7 @@ func (t *volumeIOTestSuite) DefineTests(driver TestDriver, pattern testpatterns.
testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange
l.resource = CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange) l.resource = CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
if l.resource.VolSource == nil { if l.resource.VolSource == nil {
framework.Skipf("Driver %q does not define volumeSource - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define volumeSource - skipping", dInfo.Name)
} }
} }

View File

@ -36,6 +36,7 @@ import (
e2eevents "k8s.io/kubernetes/test/e2e/framework/events" e2eevents "k8s.io/kubernetes/test/e2e/framework/events"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
@ -144,7 +145,7 @@ func (t *volumeModeTestSuite) DefineTests(driver TestDriver, pattern testpattern
if pDriver, ok := driver.(PreprovisionedPVTestDriver); ok { if pDriver, ok := driver.(PreprovisionedPVTestDriver); ok {
pvSource, volumeNodeAffinity = pDriver.GetPersistentVolumeSource(false, fsType, l.Volume) pvSource, volumeNodeAffinity = pDriver.GetPersistentVolumeSource(false, fsType, l.Volume)
if pvSource == nil { if pvSource == nil {
framework.Skipf("Driver %q does not define PersistentVolumeSource - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define PersistentVolumeSource - skipping", dInfo.Name)
} }
storageClass, pvConfig, pvcConfig := generateConfigsForPreprovisionedPVTest(scName, volBindMode, pattern.VolMode, *pvSource, volumeNodeAffinity) storageClass, pvConfig, pvcConfig := generateConfigsForPreprovisionedPVTest(scName, volBindMode, pattern.VolMode, *pvSource, volumeNodeAffinity)
@ -156,7 +157,7 @@ func (t *volumeModeTestSuite) DefineTests(driver TestDriver, pattern testpattern
if dDriver, ok := driver.(DynamicPVTestDriver); ok { if dDriver, ok := driver.(DynamicPVTestDriver); ok {
l.Sc = dDriver.GetDynamicProvisionStorageClass(l.config, fsType) l.Sc = dDriver.GetDynamicProvisionStorageClass(l.config, fsType)
if l.Sc == nil { if l.Sc == nil {
framework.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", dInfo.Name)
} }
l.Sc.VolumeBindingMode = &volBindMode l.Sc.VolumeBindingMode = &volBindMode
testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange

View File

@ -32,6 +32,7 @@ import (
"k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/framework/volume" "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/testpatterns" "k8s.io/kubernetes/test/e2e/storage/testpatterns"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -90,14 +91,14 @@ func (t *volumesTestSuite) SkipRedundantSuite(driver TestDriver, pattern testpat
func skipExecTest(driver TestDriver) { func skipExecTest(driver TestDriver) {
dInfo := driver.GetDriverInfo() dInfo := driver.GetDriverInfo()
if !dInfo.Capabilities[CapExec] { if !dInfo.Capabilities[CapExec] {
framework.Skipf("Driver %q does not support exec - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not support exec - skipping", dInfo.Name)
} }
} }
func skipTestIfBlockNotSupported(driver TestDriver) { func skipTestIfBlockNotSupported(driver TestDriver) {
dInfo := driver.GetDriverInfo() dInfo := driver.GetDriverInfo()
if !dInfo.Capabilities[CapBlock] { if !dInfo.Capabilities[CapBlock] {
framework.Skipf("Driver %q does not provide raw block - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not provide raw block - skipping", dInfo.Name)
} }
} }
@ -131,7 +132,7 @@ func (t *volumesTestSuite) DefineTests(driver TestDriver, pattern testpatterns.T
testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange
l.resource = CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange) l.resource = CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
if l.resource.VolSource == nil { if l.resource.VolSource == nil {
framework.Skipf("Driver %q does not define volumeSource - skipping", dInfo.Name) e2eskipper.Skipf("Driver %q does not define volumeSource - skipping", dInfo.Name)
} }
} }

View File

@ -23,6 +23,7 @@ import (
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -32,7 +33,7 @@ var _ = utils.SIGDescribe("Volume limits", func() {
) )
f := framework.NewDefaultFramework("volume-limits-on-node") f := framework.NewDefaultFramework("volume-limits-on-node")
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("aws", "gce", "gke") e2eskipper.SkipUnlessProviderIs("aws", "gce", "gke")
c = f.ClientSet c = f.ClientSet
framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout)) framework.ExpectNoError(framework.WaitForAllNodesSchedulable(c, framework.TestContext.NodeSchedulableTimeout))
}) })

View File

@ -35,6 +35,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework/metrics" "k8s.io/kubernetes/test/e2e/framework/metrics"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -56,7 +57,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
var err error var err error
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
defaultScName, err = e2epv.GetDefaultStorageClassName(c) defaultScName, err = e2epv.GetDefaultStorageClassName(c)
if err != nil { if err != nil {
framework.Failf(err.Error()) framework.Failf(err.Error())
@ -101,7 +102,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
var err error var err error
if !metricsGrabber.HasRegisteredMaster() { if !metricsGrabber.HasRegisteredMaster() {
framework.Skipf("Environment does not support getting controller-manager metrics - skipping") e2eskipper.Skipf("Environment does not support getting controller-manager metrics - skipping")
} }
ginkgo.By("Getting plugin name") ginkgo.By("Getting plugin name")
@ -147,7 +148,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
var err error var err error
if !metricsGrabber.HasRegisteredMaster() { if !metricsGrabber.HasRegisteredMaster() {
framework.Skipf("Environment does not support getting controller-manager metrics - skipping") e2eskipper.Skipf("Environment does not support getting controller-manager metrics - skipping")
} }
ginkgo.By("Geting default storageclass") ginkgo.By("Geting default storageclass")
@ -276,7 +277,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
controllerMetrics, err := metricsGrabber.GrabFromControllerManager() controllerMetrics, err := metricsGrabber.GrabFromControllerManager()
if err != nil { if err != nil {
framework.Skipf("Could not get controller-manager metrics - skipping") e2eskipper.Skipf("Could not get controller-manager metrics - skipping")
} }
metricKey := "volume_operation_total_seconds_count" metricKey := "volume_operation_total_seconds_count"
@ -330,7 +331,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
// Get metrics // Get metrics
controllerMetrics, err := metricsGrabber.GrabFromControllerManager() controllerMetrics, err := metricsGrabber.GrabFromControllerManager()
if err != nil { if err != nil {
framework.Skipf("Could not get controller-manager metrics - skipping") e2eskipper.Skipf("Could not get controller-manager metrics - skipping")
} }
// Create pod // Create pod
@ -344,7 +345,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
// Get updated metrics // Get updated metrics
updatedControllerMetrics, err := metricsGrabber.GrabFromControllerManager() updatedControllerMetrics, err := metricsGrabber.GrabFromControllerManager()
if err != nil { if err != nil {
framework.Skipf("Could not get controller-manager metrics - skipping") e2eskipper.Skipf("Could not get controller-manager metrics - skipping")
} }
// Forced detach metric should be present // Forced detach metric should be present
@ -447,7 +448,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
if !metricsGrabber.HasRegisteredMaster() { if !metricsGrabber.HasRegisteredMaster() {
framework.Skipf("Environment does not support getting controller-manager metrics - skipping") e2eskipper.Skipf("Environment does not support getting controller-manager metrics - skipping")
} }
pv = e2epv.MakePersistentVolume(pvConfig) pv = e2epv.MakePersistentVolume(pvConfig)
@ -772,7 +773,7 @@ func waitForADControllerStatesMetrics(metricsGrabber *metrics.Grabber, metricNam
verifyMetricFunc := func() (bool, error) { verifyMetricFunc := func() (bool, error) {
updatedMetrics, err := metricsGrabber.GrabFromControllerManager() updatedMetrics, err := metricsGrabber.GrabFromControllerManager()
if err != nil { if err != nil {
framework.Skipf("Could not get controller-manager metrics - skipping") e2eskipper.Skipf("Could not get controller-manager metrics - skipping")
return false, err return false, err
} }
if !hasValidMetrics(testutil.Metrics(updatedMetrics), metricName, dimensions...) { if !hasValidMetrics(testutil.Metrics(updatedMetrics), metricName, dimensions...) {

View File

@ -48,6 +48,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -374,7 +375,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
}) })
ginkgo.It("should provision storage with non-default reclaim policy Retain", func() { ginkgo.It("should provision storage with non-default reclaim policy Retain", func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
test := testsuites.StorageClassTest{ test := testsuites.StorageClassTest{
Client: c, Client: c,
@ -416,7 +417,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
}) })
ginkgo.It("should not provision a volume in an unmanaged GCE zone.", func() { ginkgo.It("should not provision a volume in an unmanaged GCE zone.", func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
var suffix string = "unmananged" var suffix string = "unmananged"
ginkgo.By("Discovering an unmanaged zone") ginkgo.By("Discovering an unmanaged zone")
@ -442,7 +443,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
unmanagedZones := allZones.Difference(managedZones) unmanagedZones := allZones.Difference(managedZones)
// And select one of them at random. // And select one of them at random.
if unmanagedZone, popped = unmanagedZones.PopAny(); !popped { if unmanagedZone, popped = unmanagedZones.PopAny(); !popped {
framework.Skipf("No unmanaged zones found.") e2eskipper.Skipf("No unmanaged zones found.")
} }
ginkgo.By("Creating a StorageClass for the unmanaged zone") ginkgo.By("Creating a StorageClass for the unmanaged zone")
@ -481,7 +482,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
// not being deleted. // not being deleted.
// NOTE: Polls until no PVs are detected, times out at 5 minutes. // NOTE: Polls until no PVs are detected, times out at 5 minutes.
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure") e2eskipper.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure")
const raceAttempts int = 100 const raceAttempts int = 100
var residualPVs []*v1.PersistentVolume var residualPVs []*v1.PersistentVolume
@ -534,7 +535,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
// volume and changes the reclaim policy to Delete. // volume and changes the reclaim policy to Delete.
// PV controller should delete the PV even though the underlying volume // PV controller should delete the PV even though the underlying volume
// is already deleted. // is already deleted.
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
ginkgo.By("creating PD") ginkgo.By("creating PD")
diskName, err := e2epv.CreatePDWithRetry() diskName, err := e2epv.CreatePDWithRetry()
framework.ExpectNoError(err) framework.ExpectNoError(err)
@ -658,7 +659,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
ginkgo.Describe("DynamicProvisioner Default", func() { ginkgo.Describe("DynamicProvisioner Default", func() {
ginkgo.It("should create and delete default persistent volumes [Slow]", func() { ginkgo.It("should create and delete default persistent volumes [Slow]", func() {
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure") e2eskipper.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure")
ginkgo.By("creating a claim with no annotation") ginkgo.By("creating a claim with no annotation")
test := testsuites.StorageClassTest{ test := testsuites.StorageClassTest{
@ -677,7 +678,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
// Modifying the default storage class can be disruptive to other tests that depend on it // Modifying the default storage class can be disruptive to other tests that depend on it
ginkgo.It("should be disabled by changing the default annotation [Serial] [Disruptive]", func() { ginkgo.It("should be disabled by changing the default annotation [Serial] [Disruptive]", func() {
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure") e2eskipper.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure")
scName, scErr := e2epv.GetDefaultStorageClassName(c) scName, scErr := e2epv.GetDefaultStorageClassName(c)
if scErr != nil { if scErr != nil {
framework.Failf(scErr.Error()) framework.Failf(scErr.Error())
@ -714,7 +715,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
// Modifying the default storage class can be disruptive to other tests that depend on it // Modifying the default storage class can be disruptive to other tests that depend on it
ginkgo.It("should be disabled by removing the default annotation [Serial] [Disruptive]", func() { ginkgo.It("should be disabled by removing the default annotation [Serial] [Disruptive]", func() {
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure") e2eskipper.SkipUnlessProviderIs("openstack", "gce", "aws", "gke", "vsphere", "azure")
scName, scErr := e2epv.GetDefaultStorageClassName(c) scName, scErr := e2epv.GetDefaultStorageClassName(c)
if scErr != nil { if scErr != nil {
framework.Failf(scErr.Error()) framework.Failf(scErr.Error())
@ -752,7 +753,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
framework.KubeDescribe("GlusterDynamicProvisioner", func() { framework.KubeDescribe("GlusterDynamicProvisioner", func() {
ginkgo.It("should create and delete persistent volumes [fast]", func() { ginkgo.It("should create and delete persistent volumes [fast]", func() {
framework.SkipIfProviderIs("gke") e2eskipper.SkipIfProviderIs("gke")
ginkgo.By("creating a Gluster DP server Pod") ginkgo.By("creating a Gluster DP server Pod")
pod := startGlusterDpServerPod(c, ns) pod := startGlusterDpServerPod(c, ns)
serverURL := "http://" + net.JoinHostPort(pod.Status.PodIP, "8081") serverURL := "http://" + net.JoinHostPort(pod.Status.PodIP, "8081")
@ -781,7 +782,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
ginkgo.Describe("Invalid AWS KMS key", func() { ginkgo.Describe("Invalid AWS KMS key", func() {
ginkgo.It("should report an error and create no PV", func() { ginkgo.It("should report an error and create no PV", func() {
framework.SkipUnlessProviderIs("aws") e2eskipper.SkipUnlessProviderIs("aws")
test := testsuites.StorageClassTest{ test := testsuites.StorageClassTest{
Name: "AWS EBS with invalid KMS key", Name: "AWS EBS with invalid KMS key",
Provisioner: "kubernetes.io/aws-ebs", Provisioner: "kubernetes.io/aws-ebs",

View File

@ -57,6 +57,7 @@ go_library(
"//test/e2e/framework/node:go_default_library", "//test/e2e/framework/node:go_default_library",
"//test/e2e/framework/pod:go_default_library", "//test/e2e/framework/pod:go_default_library",
"//test/e2e/framework/pv:go_default_library", "//test/e2e/framework/pv:go_default_library",
"//test/e2e/framework/skipper:go_default_library",
"//test/e2e/framework/ssh:go_default_library", "//test/e2e/framework/ssh:go_default_library",
"//test/e2e/framework/statefulset:go_default_library", "//test/e2e/framework/statefulset:go_default_library",
"//test/e2e/storage/utils:go_default_library", "//test/e2e/storage/utils:go_default_library",

View File

@ -27,6 +27,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -59,7 +60,7 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() {
5. Verify Disk and Attached to the node. 5. Verify Disk and Attached to the node.
*/ */
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
@ -175,7 +176,7 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() {
3. Verify that written file is accessible after kubelet restart 3. Verify that written file is accessible after kubelet restart
*/ */
ginkgo.It("should test that a file written to the vspehre volume mount before kubelet restart can be read after restart [Disruptive]", func() { ginkgo.It("should test that a file written to the vspehre volume mount before kubelet restart can be read after restart [Disruptive]", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
utils.TestKubeletRestartsAndRestoresMount(c, f, clientPod) utils.TestKubeletRestartsAndRestoresMount(c, f, clientPod)
}) })
@ -191,7 +192,7 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() {
5. Verify that volume mount not to be found. 5. Verify that volume mount not to be found.
*/ */
ginkgo.It("should test that a vspehre volume mounted to a pod that is deleted while the kubelet is down unmounts when the kubelet returns [Disruptive]", func() { ginkgo.It("should test that a vspehre volume mounted to a pod that is deleted while the kubelet is down unmounts when the kubelet returns [Disruptive]", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
utils.TestVolumeUnmountsFromDeletedPod(c, f, clientPod) utils.TestVolumeUnmountsFromDeletedPod(c, f, clientPod)
}) })

View File

@ -28,6 +28,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -50,7 +51,7 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() {
utils.SIGDescribe("persistentvolumereclaim:vsphere", func() { utils.SIGDescribe("persistentvolumereclaim:vsphere", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
nodeInfo = GetReadySchedulableRandomNodeInfo() nodeInfo = GetReadySchedulableRandomNodeInfo()
pv = nil pv = nil

View File

@ -24,6 +24,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -59,7 +60,7 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:LabelSelector]", func() {
nodeInfo *NodeInfo nodeInfo *NodeInfo
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
Bootstrap(f) Bootstrap(f)

View File

@ -30,6 +30,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -71,7 +72,7 @@ var _ = utils.SIGDescribe("vcp at scale [Feature:vsphere] ", func() {
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name
@ -92,11 +93,11 @@ var _ = utils.SIGDescribe("vcp at scale [Feature:vsphere] ", func() {
nodes, err = e2enode.GetReadySchedulableNodes(client) nodes, err = e2enode.GetReadySchedulableNodes(client)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < 2 { if len(nodes.Items) < 2 {
framework.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items))
} }
// Verify volume count specified by the user can be satisfied // Verify volume count specified by the user can be satisfied
if volumeCount > volumesPerNode*len(nodes.Items) { if volumeCount > volumesPerNode*len(nodes.Items) {
framework.Skipf("Cannot attach %d volumes to %d nodes. Maximum volumes that can be attached on %d nodes is %d", volumeCount, len(nodes.Items), len(nodes.Items), volumesPerNode*len(nodes.Items)) e2eskipper.Skipf("Cannot attach %d volumes to %d nodes. Maximum volumes that can be attached on %d nodes is %d", volumeCount, len(nodes.Items), len(nodes.Items), volumesPerNode*len(nodes.Items))
} }
nodeSelectorList = createNodeLabels(client, namespace, nodes) nodeSelectorList = createNodeLabels(client, namespace, nodes)
}) })

View File

@ -26,6 +26,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2esset "k8s.io/kubernetes/test/e2e/framework/statefulset"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -59,7 +60,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() {
client clientset.Interface client clientset.Interface
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
namespace = f.Namespace.Name namespace = f.Namespace.Name
client = f.ClientSet client = f.ClientSet
Bootstrap(f) Bootstrap(f)

View File

@ -30,6 +30,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -56,7 +57,7 @@ var _ = utils.SIGDescribe("vsphere cloud provider stress [Feature:vsphere]", fun
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -23,6 +23,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -48,7 +49,7 @@ var _ = utils.SIGDescribe("Volume Provisioning On Clustered Datastore [Feature:v
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -28,6 +28,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -54,7 +55,7 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]",
scParameters map[string]string scParameters map[string]string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -32,6 +32,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -67,7 +68,7 @@ var _ = utils.SIGDescribe("Volume Disk Format [Feature:vsphere]", func() {
nodeLabelValue string nodeLabelValue string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -26,6 +26,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -51,7 +52,7 @@ var _ = utils.SIGDescribe("Volume Disk Size [Feature:vsphere]", func() {
datastore string datastore string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -28,6 +28,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -71,7 +72,7 @@ var _ = utils.SIGDescribe("Volume FStype [Feature:vsphere]", func() {
namespace string namespace string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -32,6 +32,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -77,7 +78,7 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup
nodeInfo *NodeInfo nodeInfo *NodeInfo
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name
@ -87,7 +88,7 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup
framework.ExpectNoError(err) framework.ExpectNoError(err)
numNodes = len(nodes.Items) numNodes = len(nodes.Items)
if numNodes < 2 { if numNodes < 2 {
framework.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items))
} }
nodeInfo = TestContext.NodeMapper.GetNodeInfo(nodes.Items[0].Name) nodeInfo = TestContext.NodeMapper.GetNodeInfo(nodes.Items[0].Name)
for i := 0; i < numNodes; i++ { for i := 0; i < numNodes; i++ {
@ -102,7 +103,7 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup
}) })
ginkgo.It("verify volume remains attached after master kubelet restart", func() { ginkgo.It("verify volume remains attached after master kubelet restart", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
// Create pod on each node // Create pod on each node
for i := 0; i < numNodes; i++ { for i := 0; i < numNodes; i++ {

View File

@ -26,6 +26,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -39,7 +40,7 @@ var _ = utils.SIGDescribe("Node Unregister [Feature:vsphere] [Slow] [Disruptive]
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -35,6 +35,7 @@ import (
e2edeploy "k8s.io/kubernetes/test/e2e/framework/deployment" e2edeploy "k8s.io/kubernetes/test/e2e/framework/deployment"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -51,7 +52,7 @@ var _ = utils.SIGDescribe("Node Poweroff [Feature:vsphere] [Slow] [Disruptive]",
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -61,7 +62,7 @@ var _ = utils.SIGDescribe("Volume Operations Storm [Feature:vsphere]", func() {
volume_ops_scale int volume_ops_scale int
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -29,6 +29,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -64,7 +65,7 @@ var _ = utils.SIGDescribe("vcp-performance [Feature:vsphere]", func() {
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -50,7 +51,7 @@ var _ = utils.SIGDescribe("Volume Placement", func() {
vsp *VSphere vsp *VSphere
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
c = f.ClientSet c = f.ClientSet
ns = f.Namespace.Name ns = f.Namespace.Name
@ -338,7 +339,7 @@ func testSetupVolumePlacement(client clientset.Interface, namespace string) (nod
nodes, err := e2enode.GetBoundedReadySchedulableNodes(client, 2) nodes, err := e2enode.GetBoundedReadySchedulableNodes(client, 2)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < 2 { if len(nodes.Items) < 2 {
framework.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items))
} }
node1Name = nodes.Items[0].Name node1Name = nodes.Items[0].Name
node2Name = nodes.Items[1].Name node2Name = nodes.Items[1].Name

View File

@ -31,6 +31,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -71,7 +72,7 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Requires SSH access to vCenter. // Requires SSH access to vCenter.
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
@ -99,7 +100,7 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs
}) })
ginkgo.It("verify volume remains attached through vpxd restart", func() { ginkgo.It("verify volume remains attached through vpxd restart", func() {
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
for vcHost, nodes := range vcNodesMap { for vcHost, nodes := range vcNodesMap {
var ( var (

View File

@ -32,6 +32,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -100,7 +101,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp
masterNode string masterNode string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name

View File

@ -33,6 +33,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
) )
@ -102,7 +103,7 @@ var _ = utils.SIGDescribe("Zone Support", func() {
invalidZone string invalidZone string
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("vsphere") e2eskipper.SkipUnlessProviderIs("vsphere")
Bootstrap(f) Bootstrap(f)
client = f.ClientSet client = f.ClientSet
namespace = f.Namespace.Name namespace = f.Namespace.Name