Fix volumes e2e test to check fsType

This commit is contained in:
Masaki Kimura 2018-11-08 21:03:50 +00:00
parent 5c4b536f48
commit b767dbdeb5
6 changed files with 21 additions and 7 deletions

View File

@ -91,7 +91,7 @@ var _ = Describe("[sig-storage] GCP Volumes", func() {
} }
// Must match content of test/images/volumes-tester/nfs/index.html // Must match content of test/images/volumes-tester/nfs/index.html
framework.TestVolumeClient(c, config, nil, tests) framework.TestVolumeClient(c, config, nil, "" /* fsType */, tests)
}) })
}) })
@ -114,7 +114,7 @@ var _ = Describe("[sig-storage] GCP Volumes", func() {
}, },
} }
// Must match content of test/images/volume-tester/nfs/index.html // Must match content of test/images/volume-tester/nfs/index.html
framework.TestVolumeClient(c, config, nil, tests) framework.TestVolumeClient(c, config, nil, "" /* fsType */, tests)
}) })
}) })
@ -147,7 +147,7 @@ var _ = Describe("[sig-storage] GCP Volumes", func() {
ExpectedContent: "Hello from GlusterFS!", ExpectedContent: "Hello from GlusterFS!",
}, },
} }
framework.TestVolumeClient(c, config, nil, tests) framework.TestVolumeClient(c, config, nil, "" /* fsType */, tests)
}) })
}) })
}) })

View File

@ -401,7 +401,7 @@ func VolumeTestCleanup(f *Framework, config VolumeTestConfig) {
// and check that the pod sees expected data, e.g. from the server pod. // and check that the pod sees expected data, e.g. from the server pod.
// Multiple VolumeTests can be specified to mount multiple volumes to a single // Multiple VolumeTests can be specified to mount multiple volumes to a single
// pod. // pod.
func TestVolumeClient(client clientset.Interface, config VolumeTestConfig, fsGroup *int64, tests []VolumeTest) { func TestVolumeClient(client clientset.Interface, config VolumeTestConfig, fsGroup *int64, fsType string, tests []VolumeTest) {
By(fmt.Sprint("starting ", config.Prefix, " client")) By(fmt.Sprint("starting ", config.Prefix, " client"))
var gracePeriod int64 = 1 var gracePeriod int64 = 1
clientPod := &v1.Pod{ clientPod := &v1.Pod{
@ -476,6 +476,12 @@ func TestVolumeClient(client clientset.Interface, config VolumeTestConfig, fsGro
_, err = LookForStringInPodExec(config.Namespace, clientPod.Name, []string{"ls", "-ld", "/opt/0"}, strconv.Itoa(int(*fsGroup)), time.Minute) _, err = LookForStringInPodExec(config.Namespace, clientPod.Name, []string{"ls", "-ld", "/opt/0"}, strconv.Itoa(int(*fsGroup)), time.Minute)
Expect(err).NotTo(HaveOccurred(), "failed: getting the right privileges in the file %v", int(*fsGroup)) Expect(err).NotTo(HaveOccurred(), "failed: getting the right privileges in the file %v", int(*fsGroup))
} }
if fsType != "" {
By("Checking fsType is correct.")
_, err = LookForStringInPodExec(config.Namespace, clientPod.Name, []string{"grep", fmt.Sprintf(" /opt/0 %s", fsType), "/proc/mounts"}, fsType, time.Minute)
Expect(err).NotTo(HaveOccurred(), "failed: getting the right fsType %s", fsType)
}
} }
// Insert index.html with given content into given volume. It does so by // Insert index.html with given content into given volume. It does so by

View File

@ -312,6 +312,9 @@ func (g *gcePDCSIDriver) GetDynamicProvisionStorageClass(fsType string) *storage
suffix := fmt.Sprintf("%s-sc", g.driverInfo.Name) suffix := fmt.Sprintf("%s-sc", g.driverInfo.Name)
parameters := map[string]string{"type": "pd-standard"} parameters := map[string]string{"type": "pd-standard"}
if fsType != "" {
parameters["fsType"] = fsType
}
return testsuites.GetStorageClass(provisioner, parameters, nil, ns, suffix) return testsuites.GetStorageClass(provisioner, parameters, nil, ns, suffix)
} }
@ -412,6 +415,9 @@ func (g *gcePDExternalCSIDriver) GetDynamicProvisionStorageClass(fsType string)
suffix := fmt.Sprintf("%s-sc", g.driverInfo.Name) suffix := fmt.Sprintf("%s-sc", g.driverInfo.Name)
parameters := map[string]string{"type": "pd-standard"} parameters := map[string]string{"type": "pd-standard"}
if fsType != "" {
parameters["fsType"] = fsType
}
return testsuites.GetStorageClass(provisioner, parameters, nil, ns, suffix) return testsuites.GetStorageClass(provisioner, parameters, nil, ns, suffix)
} }

View File

@ -63,7 +63,7 @@ func testFlexVolume(driver string, cs clientset.Interface, config framework.Volu
ExpectedContent: "Hello from flexvolume!", ExpectedContent: "Hello from flexvolume!",
}, },
} }
framework.TestVolumeClient(cs, config, nil, tests) framework.TestVolumeClient(cs, config, nil, "" /* fsType */, tests)
framework.VolumeTestCleanup(f, config) framework.VolumeTestCleanup(f, config)
} }

View File

@ -111,6 +111,7 @@ func createVolumesTestInput(pattern testpatterns.TestPattern, resource genericVo
config: &dInfo.Config, config: &dInfo.Config,
fsGroup: fsGroup, fsGroup: fsGroup,
resource: resource, resource: resource,
fsType: pattern.FsType,
tests: []framework.VolumeTest{ tests: []framework.VolumeTest{
{ {
Volume: *volSource, Volume: *volSource,
@ -160,6 +161,7 @@ type volumesTestInput struct {
name string name string
config *TestConfig config *TestConfig
fsGroup *int64 fsGroup *int64
fsType string
tests []framework.VolumeTest tests []framework.VolumeTest
resource genericVolumeTestResource resource genericVolumeTestResource
} }
@ -175,7 +177,7 @@ func testVolumes(input *volumesTestInput) {
volumeTest := input.tests volumeTest := input.tests
config := convertTestConfig(input.config) config := convertTestConfig(input.config)
framework.InjectHtml(cs, config, volumeTest[0].Volume, volumeTest[0].ExpectedContent) framework.InjectHtml(cs, config, volumeTest[0].Volume, volumeTest[0].ExpectedContent)
framework.TestVolumeClient(cs, config, input.fsGroup, input.tests) framework.TestVolumeClient(cs, config, input.fsGroup, input.fsType, input.tests)
}) })
It("should allow exec of files on the volume", func() { It("should allow exec of files on the volume", func() {
f := input.f f := input.f

View File

@ -106,7 +106,7 @@ var _ = utils.SIGDescribe("Volumes", func() {
ExpectedContent: "this is the second file", ExpectedContent: "this is the second file",
}, },
} }
framework.TestVolumeClient(cs, config, nil, tests) framework.TestVolumeClient(cs, config, nil, "" /* fsType */, tests)
}) })
}) })
}) })