mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-09 16:00:22 +00:00
e2e: add e2e for cephfs VolumeNamePrefix for PVC
when user provides an option for VolumeNamePrefix
create subvolume with the prefix which will be easy
for user to identify the subvolumes belongs to
the storageclass, Added an E2E testing to verify
that the subvolume contains the Prefix what is
provided in the storageclass.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit f4d5fdf114
)
This commit is contained in:
parent
8873a87187
commit
08599a537b
@ -235,6 +235,52 @@ var _ = Describe("cephfs", func() {
|
||||
}
|
||||
})
|
||||
|
||||
By("create PVC in storageClass with volumeNamePrefix", func() {
|
||||
volumeNamePrefix := "foo-bar-"
|
||||
err := createCephfsStorageClass(f.ClientSet, f, false, map[string]string{"volumeNamePrefix": volumeNamePrefix})
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to create storageclass with error %v", err)
|
||||
}
|
||||
// set up PVC
|
||||
pvc, err := loadPVC(pvcPath)
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to load PVC with error %v", err)
|
||||
}
|
||||
pvc.Namespace = f.UniqueName
|
||||
err = createPVCAndvalidatePV(f.ClientSet, pvc, deployTimeout)
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to create PVC with error %v", err)
|
||||
}
|
||||
|
||||
validateSubvolumeCount(f, 1, fileSystemName, subvolumegroup)
|
||||
// list subvolumes and check if one of them has the same prefix
|
||||
foundIt := false
|
||||
subvolumes, err := listCephFSSubVolumes(f, fileSystemName, subvolumegroup)
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to list subvolumes with error %v", err)
|
||||
}
|
||||
for _, subVol := range subvolumes {
|
||||
fmt.Printf("Checking prefix on %s\n", subVol)
|
||||
if strings.HasPrefix(subVol.Name, volumeNamePrefix) {
|
||||
foundIt = true
|
||||
break
|
||||
}
|
||||
}
|
||||
// clean up after ourselves
|
||||
err = deletePVCAndValidatePV(f.ClientSet, pvc, deployTimeout)
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to delete PVC with error %v", err)
|
||||
}
|
||||
validateSubvolumeCount(f, 0, fileSystemName, subvolumegroup)
|
||||
err = deleteResource(cephfsExamplePath + "storageclass.yaml")
|
||||
if err != nil {
|
||||
e2elog.Failf("failed to delete storageclass with error %v", err)
|
||||
}
|
||||
if !foundIt {
|
||||
e2elog.Failf("could not find subvolume with prefix %s", volumeNamePrefix)
|
||||
}
|
||||
})
|
||||
|
||||
By("create a storageclass with ceph-fuse and a PVC then bind it to an app", func() {
|
||||
params := map[string]string{
|
||||
"mounter": "fuse",
|
||||
|
Loading…
Reference in New Issue
Block a user