mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #39171 from msau42/tag-e2e-storage
Automatic merge from submit-queue Add [Volume] tag to all the volume-related E2E tests. **What this PR does / why we need it**: Tags all the volume/storage related e2e tests to make it easier to run a volume test suite. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # fixes #35542 **Special notes for your reviewer**: Please let me know if there are tests that should/should not be included. **Release note**: NONE ```release-note ```
This commit is contained in:
commit
a1f54a8842
@ -32,46 +32,46 @@ import (
|
||||
var _ = framework.KubeDescribe("ConfigMap", func() {
|
||||
f := framework.NewDefaultFramework("configmap")
|
||||
|
||||
It("should be consumable from pods in volume [Conformance]", func() {
|
||||
It("should be consumable from pods in volume [Conformance] [Volume]", func() {
|
||||
doConfigMapE2EWithoutMappings(f, 0, 0, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with defaultMode set [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with defaultMode set [Conformance] [Volume]", func() {
|
||||
defaultMode := int32(0400)
|
||||
doConfigMapE2EWithoutMappings(f, 0, 0, &defaultMode)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Feature:FSGroup]", func() {
|
||||
It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Feature:FSGroup] [Volume]", func() {
|
||||
defaultMode := int32(0440) /* setting fsGroup sets mode to at least 440 */
|
||||
doConfigMapE2EWithoutMappings(f, 1000, 1001, &defaultMode)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume as non-root [Conformance]", func() {
|
||||
It("should be consumable from pods in volume as non-root [Conformance] [Volume]", func() {
|
||||
doConfigMapE2EWithoutMappings(f, 1000, 0, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume as non-root with FSGroup [Feature:FSGroup]", func() {
|
||||
It("should be consumable from pods in volume as non-root with FSGroup [Feature:FSGroup] [Volume]", func() {
|
||||
doConfigMapE2EWithoutMappings(f, 1000, 1001, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with mappings [Conformance] [Volume]", func() {
|
||||
doConfigMapE2EWithMappings(f, 0, 0, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings and Item mode set[Conformance]", func() {
|
||||
It("should be consumable from pods in volume with mappings and Item mode set[Conformance] [Volume]", func() {
|
||||
mode := int32(0400)
|
||||
doConfigMapE2EWithMappings(f, 0, 0, &mode)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings as non-root [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with mappings as non-root [Conformance] [Volume]", func() {
|
||||
doConfigMapE2EWithMappings(f, 1000, 0, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings as non-root with FSGroup [Feature:FSGroup]", func() {
|
||||
It("should be consumable from pods in volume with mappings as non-root with FSGroup [Feature:FSGroup] [Volume]", func() {
|
||||
doConfigMapE2EWithMappings(f, 1000, 1001, nil)
|
||||
})
|
||||
|
||||
It("updates should be reflected in volume [Conformance]", func() {
|
||||
It("updates should be reflected in volume [Conformance] [Volume]", func() {
|
||||
|
||||
// We may have to wait or a full sync period to elapse before the
|
||||
// Kubelet projects the update into the volume and the container picks
|
||||
@ -236,7 +236,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should be consumable in multiple volumes in the same pod [Conformance]", func() {
|
||||
It("should be consumable in multiple volumes in the same pod [Conformance] [Volume]", func() {
|
||||
var (
|
||||
name = "configmap-test-volume-" + string(uuid.NewUUID())
|
||||
volumeName = "configmap-volume"
|
||||
|
@ -39,7 +39,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
podClient = f.PodClient()
|
||||
})
|
||||
|
||||
It("should provide podname only [Conformance]", func() {
|
||||
It("should provide podname only [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumePodForSimpleTest(podName, "/etc/podname")
|
||||
|
||||
@ -48,7 +48,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should set DefaultMode on files [Conformance]", func() {
|
||||
It("should set DefaultMode on files [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
defaultMode := int32(0400)
|
||||
pod := downwardAPIVolumePodForModeTest(podName, "/etc/podname", nil, &defaultMode)
|
||||
@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should set mode on item file [Conformance]", func() {
|
||||
It("should set mode on item file [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
mode := int32(0400)
|
||||
pod := downwardAPIVolumePodForModeTest(podName, "/etc/podname", &mode, nil)
|
||||
@ -68,7 +68,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide podname as non-root with fsgroup [Feature:FSGroup]", func() {
|
||||
It("should provide podname as non-root with fsgroup [Feature:FSGroup] [Volume]", func() {
|
||||
podName := "metadata-volume-" + string(uuid.NewUUID())
|
||||
uid := int64(1001)
|
||||
gid := int64(1234)
|
||||
@ -82,7 +82,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide podname as non-root with fsgroup and defaultMode [Feature:FSGroup]", func() {
|
||||
It("should provide podname as non-root with fsgroup and defaultMode [Feature:FSGroup] [Volume]", func() {
|
||||
podName := "metadata-volume-" + string(uuid.NewUUID())
|
||||
uid := int64(1001)
|
||||
gid := int64(1234)
|
||||
@ -97,7 +97,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should update labels on modification [Conformance]", func() {
|
||||
It("should update labels on modification [Conformance] [Volume]", func() {
|
||||
labels := map[string]string{}
|
||||
labels["key1"] = "value1"
|
||||
labels["key2"] = "value2"
|
||||
@ -124,7 +124,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
podLogTimeout, framework.Poll).Should(ContainSubstring("key3=\"value3\"\n"))
|
||||
})
|
||||
|
||||
It("should update annotations on modification [Conformance]", func() {
|
||||
It("should update annotations on modification [Conformance] [Volume]", func() {
|
||||
annotations := map[string]string{}
|
||||
annotations["builder"] = "bar"
|
||||
podName := "annotationupdate" + string(uuid.NewUUID())
|
||||
@ -153,7 +153,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
podLogTimeout, framework.Poll).Should(ContainSubstring("builder=\"foo\"\n"))
|
||||
})
|
||||
|
||||
It("should provide container's cpu limit [Conformance]", func() {
|
||||
It("should provide container's cpu limit [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForContainerResources(podName, "/etc/cpu_limit")
|
||||
|
||||
@ -162,7 +162,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide container's memory limit [Conformance]", func() {
|
||||
It("should provide container's memory limit [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForContainerResources(podName, "/etc/memory_limit")
|
||||
|
||||
@ -171,7 +171,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide container's cpu request [Conformance]", func() {
|
||||
It("should provide container's cpu request [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForContainerResources(podName, "/etc/cpu_request")
|
||||
|
||||
@ -180,7 +180,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide container's memory request [Conformance]", func() {
|
||||
It("should provide container's memory request [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForContainerResources(podName, "/etc/memory_request")
|
||||
|
||||
@ -189,14 +189,14 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should provide node allocatable (cpu) as default cpu limit if the limit is not set [Conformance]", func() {
|
||||
It("should provide node allocatable (cpu) as default cpu limit if the limit is not set [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForDefaultContainerResources(podName, "/etc/cpu_limit")
|
||||
|
||||
f.TestContainerOutputRegexp("downward API volume plugin", pod, 0, []string{"[1-9]"})
|
||||
})
|
||||
|
||||
It("should provide node allocatable (memory) as default memory limit if the limit is not set [Conformance]", func() {
|
||||
It("should provide node allocatable (memory) as default memory limit if the limit is not set [Conformance] [Volume]", func() {
|
||||
podName := "downwardapi-volume-" + string(uuid.NewUUID())
|
||||
pod := downwardAPIVolumeForDefaultContainerResources(podName, "/etc/memory_limit")
|
||||
|
||||
|
@ -39,80 +39,80 @@ var _ = framework.KubeDescribe("EmptyDir volumes", func() {
|
||||
f := framework.NewDefaultFramework("emptydir")
|
||||
|
||||
Context("when FSGroup is specified [Feature:FSGroup]", func() {
|
||||
It("new files should be created with FSGroup ownership when container is root", func() {
|
||||
It("new files should be created with FSGroup ownership when container is root [Volume]", func() {
|
||||
doTestSetgidFSGroup(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("new files should be created with FSGroup ownership when container is non-root", func() {
|
||||
It("new files should be created with FSGroup ownership when container is non-root [Volume]", func() {
|
||||
doTestSetgidFSGroup(f, testImageNonRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("files with FSGroup ownership should support (root,0644,tmpfs)", func() {
|
||||
It("files with FSGroup ownership should support (root,0644,tmpfs) [Volume]", func() {
|
||||
doTest0644FSGroup(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("volume on default medium should have the correct mode using FSGroup", func() {
|
||||
It("volume on default medium should have the correct mode using FSGroup [Volume]", func() {
|
||||
doTestVolumeModeFSGroup(f, testImageRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("volume on tmpfs should have the correct mode using FSGroup", func() {
|
||||
It("volume on tmpfs should have the correct mode using FSGroup [Volume]", func() {
|
||||
doTestVolumeModeFSGroup(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
})
|
||||
|
||||
It("volume on tmpfs should have the correct mode [Conformance]", func() {
|
||||
It("volume on tmpfs should have the correct mode [Conformance] [Volume]", func() {
|
||||
doTestVolumeMode(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (root,0644,tmpfs) [Conformance]", func() {
|
||||
It("should support (root,0644,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0644(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (root,0666,tmpfs) [Conformance]", func() {
|
||||
It("should support (root,0666,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0666(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (root,0777,tmpfs) [Conformance]", func() {
|
||||
It("should support (root,0777,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0777(f, testImageRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (non-root,0644,tmpfs) [Conformance]", func() {
|
||||
It("should support (non-root,0644,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0644(f, testImageNonRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (non-root,0666,tmpfs) [Conformance]", func() {
|
||||
It("should support (non-root,0666,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0666(f, testImageNonRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("should support (non-root,0777,tmpfs) [Conformance]", func() {
|
||||
It("should support (non-root,0777,tmpfs) [Conformance] [Volume]", func() {
|
||||
doTest0777(f, testImageNonRootUid, v1.StorageMediumMemory)
|
||||
})
|
||||
|
||||
It("volume on default medium should have the correct mode [Conformance]", func() {
|
||||
It("volume on default medium should have the correct mode [Conformance] [Volume]", func() {
|
||||
doTestVolumeMode(f, testImageRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (root,0644,default) [Conformance]", func() {
|
||||
It("should support (root,0644,default) [Conformance] [Volume]", func() {
|
||||
doTest0644(f, testImageRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (root,0666,default) [Conformance]", func() {
|
||||
It("should support (root,0666,default) [Conformance] [Volume]", func() {
|
||||
doTest0666(f, testImageRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (root,0777,default) [Conformance]", func() {
|
||||
It("should support (root,0777,default) [Conformance] [Volume]", func() {
|
||||
doTest0777(f, testImageRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (non-root,0644,default) [Conformance]", func() {
|
||||
It("should support (non-root,0644,default) [Conformance] [Volume]", func() {
|
||||
doTest0644(f, testImageNonRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (non-root,0666,default) [Conformance]", func() {
|
||||
It("should support (non-root,0666,default) [Conformance] [Volume]", func() {
|
||||
doTest0666(f, testImageNonRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
|
||||
It("should support (non-root,0777,default) [Conformance]", func() {
|
||||
It("should support (non-root,0777,default) [Conformance] [Volume]", func() {
|
||||
doTest0777(f, testImageNonRootUid, v1.StorageMediumDefault)
|
||||
})
|
||||
})
|
||||
|
@ -39,7 +39,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
|
||||
_ = os.Remove("/tmp/test-file")
|
||||
})
|
||||
|
||||
It("should give a volume the correct mode [Conformance]", func() {
|
||||
It("should give a volume the correct mode [Conformance] [Volume]", func() {
|
||||
volumePath := "/test-volume"
|
||||
source := &v1.HostPathVolumeSource{
|
||||
Path: "/tmp",
|
||||
@ -56,7 +56,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
|
||||
})
|
||||
|
||||
// This test requires mounting a folder into a container with write privileges.
|
||||
It("should support r/w", func() {
|
||||
It("should support r/w [Volume]", func() {
|
||||
volumePath := "/test-volume"
|
||||
filePath := path.Join(volumePath, "test-file")
|
||||
retryDuration := 180
|
||||
@ -81,7 +81,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
|
||||
})
|
||||
})
|
||||
|
||||
It("should support subPath", func() {
|
||||
It("should support subPath [Volume]", func() {
|
||||
volumePath := "/test-volume"
|
||||
subPath := "sub-path"
|
||||
fileName := "test-file"
|
||||
|
@ -30,32 +30,32 @@ import (
|
||||
var _ = framework.KubeDescribe("Secrets", func() {
|
||||
f := framework.NewDefaultFramework("secrets")
|
||||
|
||||
It("should be consumable from pods in volume [Conformance]", func() {
|
||||
It("should be consumable from pods in volume [Conformance] [Volume]", func() {
|
||||
doSecretE2EWithoutMapping(f, nil /* default mode */, "secret-test-"+string(uuid.NewUUID()), nil, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with defaultMode set [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with defaultMode set [Conformance] [Volume]", func() {
|
||||
defaultMode := int32(0400)
|
||||
doSecretE2EWithoutMapping(f, &defaultMode, "secret-test-"+string(uuid.NewUUID()), nil, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Conformance]", func() {
|
||||
It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Conformance] [Volume]", func() {
|
||||
defaultMode := int32(0440) /* setting fsGroup sets mode to at least 440 */
|
||||
fsGroup := int64(1001)
|
||||
uid := int64(1000)
|
||||
doSecretE2EWithoutMapping(f, &defaultMode, "secret-test-"+string(uuid.NewUUID()), &fsGroup, &uid)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with mappings [Conformance] [Volume]", func() {
|
||||
doSecretE2EWithMapping(f, nil)
|
||||
})
|
||||
|
||||
It("should be consumable from pods in volume with mappings and Item Mode set [Conformance]", func() {
|
||||
It("should be consumable from pods in volume with mappings and Item Mode set [Conformance] [Volume]", func() {
|
||||
mode := int32(0400)
|
||||
doSecretE2EWithMapping(f, &mode)
|
||||
})
|
||||
|
||||
It("should be able to mount in a volume regardless of a different secret existing with same name in different namespace", func() {
|
||||
It("should be able to mount in a volume regardless of a different secret existing with same name in different namespace [Volume]", func() {
|
||||
var (
|
||||
namespace2 *v1.Namespace
|
||||
err error
|
||||
@ -76,7 +76,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
||||
doSecretE2EWithoutMapping(f, nil /* default mode */, secret2.Name, nil, nil)
|
||||
})
|
||||
|
||||
It("should be consumable in multiple volumes in a pod [Conformance]", func() {
|
||||
It("should be consumable in multiple volumes in a pod [Conformance] [Volume]", func() {
|
||||
// This test ensures that the same secret can be mounted in multiple
|
||||
// volumes in the same pod. This test case exists to prevent
|
||||
// regressions that break this use-case.
|
||||
|
@ -364,7 +364,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("NFSv4", func() {
|
||||
It("should be mountable for NFSv4", func() {
|
||||
It("should be mountable for NFSv4 [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "nfs",
|
||||
@ -398,7 +398,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("GlusterFS", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "gluster",
|
||||
|
@ -52,7 +52,7 @@ const (
|
||||
var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
|
||||
f := framework.NewDefaultFramework("emptydir-wrapper")
|
||||
|
||||
It("should not conflict", func() {
|
||||
It("should not conflict [Volume]", func() {
|
||||
name := "emptydir-wrapper-test-" + string(uuid.NewUUID())
|
||||
volumeName := "secret-volume"
|
||||
volumeMountPath := "/etc/secret-volume"
|
||||
@ -151,7 +151,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
|
||||
// but these cases are harder because tmpfs-based emptyDir
|
||||
// appears to be less prone to the race problem.
|
||||
|
||||
It("should not cause race condition when used for configmaps [Serial] [Slow]", func() {
|
||||
It("should not cause race condition when used for configmaps [Serial] [Slow] [Volume]", func() {
|
||||
configMapNames := createConfigmapsForRace(f)
|
||||
defer deleteConfigMaps(f, configMapNames)
|
||||
volumes, volumeMounts := makeConfigMapVolumes(configMapNames)
|
||||
@ -160,7 +160,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
|
||||
}
|
||||
})
|
||||
|
||||
It("should not cause race condition when used for git_repo [Serial] [Slow]", func() {
|
||||
It("should not cause race condition when used for git_repo [Serial] [Slow] [Volume]", func() {
|
||||
gitURL, gitRepo, cleanup := createGitServer(f)
|
||||
defer cleanup()
|
||||
volumes, volumeMounts := makeGitRepoVolumes(gitURL, gitRepo)
|
||||
|
@ -78,7 +78,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
mathrand.Seed(time.Now().UTC().UnixNano())
|
||||
})
|
||||
|
||||
It("should schedule a pod w/ a RW PD, ungracefully remove it, then schedule it on another host [Slow]", func() {
|
||||
It("should schedule a pod w/ a RW PD, ungracefully remove it, then schedule it on another host [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke", "aws")
|
||||
|
||||
By("creating PD")
|
||||
@ -142,7 +142,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
return
|
||||
})
|
||||
|
||||
It("Should schedule a pod w/ a RW PD, gracefully remove it, then schedule it on another host [Slow]", func() {
|
||||
It("Should schedule a pod w/ a RW PD, gracefully remove it, then schedule it on another host [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke", "aws")
|
||||
|
||||
By("creating PD")
|
||||
@ -206,7 +206,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
return
|
||||
})
|
||||
|
||||
It("should schedule a pod w/ a readonly PD on two hosts, then remove both ungracefully. [Slow]", func() {
|
||||
It("should schedule a pod w/ a readonly PD on two hosts, then remove both ungracefully. [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke")
|
||||
|
||||
By("creating PD")
|
||||
@ -258,7 +258,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
waitForPDDetach(diskName, host1Name)
|
||||
})
|
||||
|
||||
It("Should schedule a pod w/ a readonly PD on two hosts, then remove both gracefully. [Slow]", func() {
|
||||
It("Should schedule a pod w/ a readonly PD on two hosts, then remove both gracefully. [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke")
|
||||
|
||||
By("creating PD")
|
||||
@ -310,7 +310,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
waitForPDDetach(diskName, host1Name)
|
||||
})
|
||||
|
||||
It("should schedule a pod w/ a RW PD shared between multiple containers, write to PD, delete pod, verify contents, and repeat in rapid succession [Slow]", func() {
|
||||
It("should schedule a pod w/ a RW PD shared between multiple containers, write to PD, delete pod, verify contents, and repeat in rapid succession [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke", "aws")
|
||||
|
||||
By("creating PD")
|
||||
@ -363,7 +363,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
waitForPDDetach(diskName, host0Name)
|
||||
})
|
||||
|
||||
It("should schedule a pod w/two RW PDs both mounted to one container, write to PD, verify contents, delete pod, recreate pod, verify contents, and repeat in rapid succession [Slow]", func() {
|
||||
It("should schedule a pod w/two RW PDs both mounted to one container, write to PD, verify contents, delete pod, recreate pod, verify contents, and repeat in rapid succession [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke", "aws")
|
||||
|
||||
By("creating PD1")
|
||||
@ -423,7 +423,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
waitForPDDetach(disk2Name, host0Name)
|
||||
})
|
||||
|
||||
It("should be able to detach from a node which was deleted [Slow] [Disruptive]", func() {
|
||||
It("should be able to detach from a node which was deleted [Slow] [Disruptive] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce")
|
||||
|
||||
initialGroupSize, err := GroupSize(framework.TestContext.CloudConfig.NodeInstanceGroup)
|
||||
@ -478,7 +478,7 @@ var _ = framework.KubeDescribe("Pod Disks", func() {
|
||||
return
|
||||
})
|
||||
|
||||
It("should be able to detach from a node whose api object was deleted [Slow] [Disruptive]", func() {
|
||||
It("should be able to detach from a node whose api object was deleted [Slow] [Disruptive] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce")
|
||||
initialGroupSize, err := GroupSize(framework.TestContext.CloudConfig.NodeInstanceGroup)
|
||||
framework.ExpectNoError(err, "Error getting group size")
|
||||
|
@ -270,7 +270,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
|
||||
It("should create a ResourceQuota and capture the life of a persistent volume claim.", func() {
|
||||
It("should create a ResourceQuota and capture the life of a persistent volume claim. [Volume]", func() {
|
||||
By("Creating a ResourceQuota")
|
||||
quotaName := "test-quota"
|
||||
resourceQuota := newTestResourceQuota(quotaName)
|
||||
@ -308,7 +308,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
|
||||
It("should create a ResourceQuota and capture the life of a persistent volume claim with a storage class.", func() {
|
||||
It("should create a ResourceQuota and capture the life of a persistent volume claim with a storage class. [Volume]", func() {
|
||||
By("Creating a ResourceQuota")
|
||||
quotaName := "test-quota"
|
||||
resourceQuota := newTestResourceQuota(quotaName)
|
||||
|
@ -115,7 +115,7 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
||||
})
|
||||
|
||||
framework.KubeDescribe("DynamicProvisioner", func() {
|
||||
It("should create and delete persistent volumes [Slow]", func() {
|
||||
It("should create and delete persistent volumes [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
|
||||
|
||||
By("creating a StorageClass")
|
||||
@ -137,7 +137,7 @@ var _ = framework.KubeDescribe("Dynamic provisioning", func() {
|
||||
})
|
||||
|
||||
framework.KubeDescribe("DynamicProvisioner Alpha", func() {
|
||||
It("should create and delete alpha persistent volumes [Slow]", func() {
|
||||
It("should create and delete alpha persistent volumes [Slow] [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("openstack", "gce", "aws", "gke")
|
||||
|
||||
By("creating a claim with an alpha dynamic provisioning annotation")
|
||||
|
@ -389,7 +389,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("NFS", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "nfs",
|
||||
@ -429,7 +429,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("GlusterFS", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "gluster",
|
||||
@ -514,7 +514,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
// Run the test with "go run hack/e2e.go ... --ginkgo.focus=iSCSI"
|
||||
|
||||
framework.KubeDescribe("iSCSI", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "iscsi",
|
||||
@ -561,7 +561,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("Ceph RBD", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "rbd",
|
||||
@ -639,7 +639,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("CephFS", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "cephfs",
|
||||
@ -717,7 +717,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
// (OS_USERNAME, OS_PASSWORD, OS_TENANT_NAME at least).
|
||||
|
||||
framework.KubeDescribe("Cinder", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("openstack")
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
@ -793,7 +793,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("PD", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
framework.SkipUnlessProviderIs("gce", "gke")
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
@ -843,7 +843,7 @@ var _ = framework.KubeDescribe("Volumes [Feature:Volumes]", func() {
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("ConfigMap", func() {
|
||||
It("should be mountable", func() {
|
||||
It("should be mountable [Volume]", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "configmap",
|
||||
|
Loading…
Reference in New Issue
Block a user