From: Casey Bodley Date: Fri, 9 Feb 2024 17:49:10 +0000 (-0500) Subject: test/rgw: add multisite test case for DeleteObjects X-Git-Tag: v19.1.0~270^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a3101437d3360ff20dec1caff1d01ffeba2e423c;p=ceph.git test/rgw: add multisite test case for DeleteObjects Signed-off-by: Casey Bodley (cherry picked from commit 3e6e36c9cc5662f4816ee47f4db4e47d168fc2b4) --- diff --git a/src/test/rgw/rgw_multi/tests.py b/src/test/rgw/rgw_multi/tests.py index 3f5ae0fea5d3d..923bea5888860 100644 --- a/src/test/rgw/rgw_multi/tests.py +++ b/src/test/rgw/rgw_multi/tests.py @@ -666,6 +666,39 @@ def test_object_delete(): zone_bucket_checkpoint(target_conn.zone, source_conn.zone, bucket.name) check_bucket_eq(source_conn, target_conn, bucket) +def test_multi_object_delete(): + zonegroup = realm.master_zonegroup() + zonegroup_conns = ZonegroupConns(zonegroup) + buckets, zone_bucket = create_bucket_per_zone(zonegroup_conns) + + objnames = [f'obj{i}' for i in range(1,50)] + content = 'asdasd' + + # don't wait for meta sync just yet + for zone, bucket in zone_bucket: + create_objects(zone, bucket, objnames, content) + + zonegroup_meta_checkpoint(zonegroup) + + # check objects exist + for source_conn, bucket in zone_bucket: + for target_conn in zonegroup_conns.zones: + if source_conn.zone == target_conn.zone: + continue + + zone_bucket_checkpoint(target_conn.zone, source_conn.zone, bucket.name) + check_bucket_eq(source_conn, target_conn, bucket) + + # check object removal + for source_conn, bucket in zone_bucket: + bucket.delete_keys(objnames) + for target_conn in zonegroup_conns.zones: + if source_conn.zone == target_conn.zone: + continue + + zone_bucket_checkpoint(target_conn.zone, source_conn.zone, bucket.name) + check_bucket_eq(source_conn, target_conn, bucket) + def get_latest_object_version(key): for k in key.bucket.list_versions(key.name): if k.is_latest: