mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
e2e: add framework for volumegroupsnapshot
adding a framework to test the volumegroupsnapshot for both cephfs and rbd and added a test case for cephfs. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
committed by
mergify[bot]
parent
744b8e1c1c
commit
d2ddd52151
34
e2e/utils.go
34
e2e/utils.go
@ -52,8 +52,9 @@ const (
|
||||
rbdType = "rbd"
|
||||
cephfsType = "cephfs"
|
||||
|
||||
volumesType = "volumes"
|
||||
snapsType = "snaps"
|
||||
volumesType = "volumes"
|
||||
snapsType = "snaps"
|
||||
groupSnapsType = "groupsnaps"
|
||||
|
||||
rookToolBoxPodLabel = "app=rook-ceph-tools"
|
||||
rbdMountOptions = "mountOptions"
|
||||
@ -174,17 +175,20 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
volumeMode: volumesType,
|
||||
driverType: cephfsType,
|
||||
radosLsCmd: fmt.Sprintf("rados ls --pool=%s --namespace csi", pool),
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls --pool=%s --namespace csi | grep -v default | grep -c ^csi.volume.",
|
||||
radosLsCmdFilter: fmt.Sprintf(
|
||||
"rados ls --pool=%s --namespace csi | grep -v default | grep -v csi.volume.group. | grep -c ^csi.volume.",
|
||||
pool),
|
||||
radosLsKeysCmd: fmt.Sprintf("rados listomapkeys csi.volumes.default --pool=%s --namespace csi", pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.volumes.default --pool=%s --namespace csi|wc -l",
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.volumes.default --pool=%s --namespace csi | wc -l",
|
||||
pool),
|
||||
},
|
||||
{
|
||||
volumeMode: volumesType,
|
||||
driverType: rbdType,
|
||||
radosLsCmd: "rados ls " + rbdOptions(pool),
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls %s | grep -v default | grep -c ^csi.volume.", rbdOptions(pool)),
|
||||
volumeMode: volumesType,
|
||||
driverType: rbdType,
|
||||
radosLsCmd: "rados ls " + rbdOptions(pool),
|
||||
radosLsCmdFilter: fmt.Sprintf(
|
||||
"rados ls %s | grep -v default | grep -v csi.volume.group. | grep -c ^csi.volume.",
|
||||
rbdOptions(pool)),
|
||||
radosLsKeysCmd: "rados listomapkeys csi.volumes.default " + rbdOptions(pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.volumes.default %s | wc -l", rbdOptions(pool)),
|
||||
},
|
||||
@ -195,7 +199,7 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls --pool=%s --namespace csi | grep -v default | grep -c ^csi.snap.",
|
||||
pool),
|
||||
radosLsKeysCmd: fmt.Sprintf("rados listomapkeys csi.snaps.default --pool=%s --namespace csi", pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.snaps.default --pool=%s --namespace csi|wc -l",
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.snaps.default --pool=%s --namespace csi | wc -l",
|
||||
pool),
|
||||
},
|
||||
{
|
||||
@ -206,6 +210,16 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
radosLsKeysCmd: "rados listomapkeys csi.snaps.default " + rbdOptions(pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.snaps.default %s | wc -l", rbdOptions(pool)),
|
||||
},
|
||||
{
|
||||
volumeMode: groupSnapsType,
|
||||
driverType: cephfsType,
|
||||
radosLsCmd: fmt.Sprintf("rados ls --pool=%s --namespace csi", pool),
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls --pool=%s --namespace csi | grep -v default | grep -c ^csi.volume.group.",
|
||||
pool),
|
||||
radosLsKeysCmd: fmt.Sprintf("rados listomapkeys csi.groups.default --pool=%s --namespace csi", pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.groups.default --pool=%s --namespace csi | wc -l",
|
||||
pool),
|
||||
},
|
||||
}
|
||||
|
||||
for _, cmds := range radosListCommands {
|
||||
@ -228,7 +242,7 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
if err == nil {
|
||||
continue
|
||||
}
|
||||
saveErr := err
|
||||
saveErr := fmt.Errorf("failed to validate omap count for %s: %w", cmd, err)
|
||||
if strings.Contains(err.Error(), "expected omap object count") {
|
||||
stdOut, stdErr, err = execCommandInToolBoxPod(f, filterLessCmds[i], rookNamespace)
|
||||
if err == nil {
|
||||
|
Reference in New Issue
Block a user