ceph/qa/workunits/rbd
Ramana Raja b7aae5c3c5 qa: Add tests to validate syncing of images using rbd-mirror
Introduce functional tests to validate that the images under
workloads are correctly mirrored between two clusters using snapshot
based mirroring.

Run workload on a primary image using a krbd or nbd client. Take
mirror snapshots of the image under workload. Unmount the mapped image
and calculate its MD5 checksum before demoting it. After demotion,
wait for the mirror status of the image to be 'up+unknown' in both
the clusters. This is to make sure that the non-primary image in the
other cluster is ready to be promoted. Now promote the non-primary
image in the other cluster. Map the promoted image and calculate its
MD5 checksum. Verify that the checksums of the demoted and promoted
images in the two clusters are the same.

The above test is run as part of two different workunits:
 - a workunit that validates the syncing of multiple mirrored images
   with workloads running on them
 - another workunit that validates the syncing of a single mirrored
   image with workload running on it and the image is set as primary
   alternatively between the two clusters, as it happens during
   failover and failback scenarios.

Fixes: https://tracker.ceph.com/issues/61617
Signed-off-by: Ramana Raja <rraja@redhat.com>
Co-authored-by: Ilya Dryomov <idryomov@redhat.com>
Co-authored-by: Christopher Hoffman <choffman@redhat.com>
2024-02-22 11:44:36 -05:00
..
crimson qa/*/crimson: Seperate Crimson's rbd api testing 2023-03-07 08:57:03 +00:00
cli_generic.sh qa/workunits/rbd/cli_generic.sh: narrow race window 2023-11-29 13:49:06 -05:00
cli_migration.sh
compare_mirror_image_alternate_primary.sh qa: Add tests to validate syncing of images using rbd-mirror 2024-02-22 11:44:36 -05:00
compare_mirror_images.sh qa: Add tests to validate syncing of images using rbd-mirror 2024-02-22 11:44:36 -05:00
concurrent.sh rbd: fix spelling errors 2023-04-26 09:30:53 -04:00
diff_continuous.sh qa/workunits/rbd: make continuous export-diff test actually work 2023-06-20 22:14:39 +02:00
diff.sh
huge-tickets.sh
image_read.sh rbd: fix spelling errors 2023-04-26 09:30:53 -04:00
import_export.sh
issue-20295.sh
journal.sh
kernel.sh
krbd_data_pool.sh
krbd_exclusive_option.sh
krbd_fallocate.sh
krbd_huge_osdmap.sh
krbd_latest_osdmap_on_map.sh
krbd_namespaces.sh
krbd_rxbounce.sh
krbd_stable_writes.sh
krbd_udev_enumerate.sh
krbd_udev_netlink_enobufs.sh
krbd_udev_netns.sh
krbd_udev_symlinks.sh
krbd_wac.sh
krbd_watch_errors.sh qa/suites/krbd: stress test for recovering from watch errors 2023-10-02 12:21:12 +02:00
luks-encryption.sh qa/workunits/rbd: add encryption-aware resize test 2022-12-04 18:24:10 +01:00
map-snapshot-io.sh
map-unmap.sh
merge_diff.sh
notify_master.sh
notify_slave.sh
nvmeof_initiator.sh qa: add rbd/nvmeof test 2023-12-04 19:27:54 +05:30
permissions.sh
qemu_dynamic_features.sh
qemu_rebuild_object_map.sh
qemu-iotests.sh qa/workunits/rbd: use jammy version of qemu-iotests for centos 9 2023-07-25 14:00:04 +02:00
qos.sh
rbd_groups.sh qa: rbd_groups.sh: change interpreter to bash 2022-12-04 13:20:44 +01:00
rbd_mirror_bootstrap.sh qa/suites/rbd: fix sporadic "rx-only direction" test failures 2023-02-10 15:26:27 +01:00
rbd_mirror_fsx_compare.sh
rbd_mirror_fsx_prepare.sh
rbd_mirror_ha.sh
rbd_mirror_helpers.sh qa/workunits: make wait_for_status_in_pool_dir() reentrant 2024-02-22 11:44:28 -05:00
rbd_mirror_stress.sh qa/suites/rbd: Cleanup of MIRROR_IMAGE_MODE 2023-11-14 18:28:02 +05:30
rbd_mirror.sh qa/workunits/rbd: merge journal and snapshot test scripts 2023-11-02 18:11:55 +05:30
rbd_support_module_recovery.sh qa/suites/rbd: add test to check rbd_support module recovery 2023-10-10 12:58:19 -04:00
rbd-ggate.sh
rbd-nbd.sh rbd-nbd: fix stuck with disable request 2023-09-21 11:18:03 +05:30
read-flags.sh
simple_big.sh
test_admin_socket.sh
test_librbd_python.sh test/pybind/rbd: convert from nose to pytest 2023-07-06 11:02:11 -04:00
test_librbd.sh
test_lock_fence.sh
test_rbd_mirror.sh
test_rbd_tasks.sh
test_rbdmap_RBDMAPFILE.sh
verify_pool.sh