mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 20:00:23 +00:00
e2e: introduce writeDataInPod() to write data to an attached PVC
writeDataInPod() write data to the attached PVC using `dd` command It leave the pod and pvc state as it is. Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
parent
53fa00dee8
commit
2d72550a39
22
e2e/utils.go
22
e2e/utils.go
@ -283,7 +283,6 @@ func createCephfsStorageClass(c kubernetes.Interface, f *framework.Framework, en
|
||||
Expect(stdErr).Should(BeEmpty())
|
||||
// remove new line present in fsID
|
||||
fsID = strings.Trim(fsID, "\n")
|
||||
|
||||
if clusterID != "" {
|
||||
fsID = clusterID
|
||||
}
|
||||
@ -928,6 +927,27 @@ func listRBDImages(f *framework.Framework) []string {
|
||||
return imgInfos
|
||||
}
|
||||
|
||||
// writeDataInPod fill zero content to a file in the provided POD volume.
|
||||
func writeDataInPod(app *v1.Pod, f *framework.Framework) error {
|
||||
app.Labels = map[string]string{"app": "write-data-in-pod"}
|
||||
app.Namespace = f.UniqueName
|
||||
|
||||
err := createApp(f.ClientSet, app, deployTimeout)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: "app=write-data-in-pod",
|
||||
}
|
||||
// write data to PVC. The idea here is to fill some content in the file
|
||||
// instead of filling and reverifying the md5sum/data integrity
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
// While writing more data we are encountering issues in E2E timeout, so keeping it low for now
|
||||
_, writeErr := execCommandInPod(f, fmt.Sprintf("dd if=/dev/zero of=%s bs=1M count=10 status=none", filePath), app.Namespace, &opt)
|
||||
Expect(writeErr).Should(BeEmpty())
|
||||
return nil
|
||||
}
|
||||
|
||||
func checkDataPersist(pvcPath, appPath string, f *framework.Framework) error {
|
||||
data := "checking data persist"
|
||||
pvc, err := loadPVC(pvcPath)
|
||||
|
Loading…
Reference in New Issue
Block a user