From: Shilpa Jagannath Date: Wed, 27 Mar 2024 06:14:44 +0000 (-0400) Subject: qa/multisite: add object set acl test X-Git-Tag: testing/wip-jcollin-testing-20240718.061041-squid~34^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=3d1f580c83524179d0b727618d229f75a7ee884e;p=ceph-ci.git qa/multisite: add object set acl test Signed-off-by: Shilpa Jagannath (cherry picked from commit d18b722557af8fc082d578547fa7be07a8ffc49e) --- diff --git a/src/test/rgw/rgw_multi/tests.py b/src/test/rgw/rgw_multi/tests.py index f0b36865ed1..78c8d722b2f 100644 --- a/src/test/rgw/rgw_multi/tests.py +++ b/src/test/rgw/rgw_multi/tests.py @@ -1921,6 +1921,36 @@ def test_role_delete_sync(): zone.iam_conn.get_role, RoleName=role_name) log.info(f'success, zone: {zone.name} does not have role: {role_name}') +def test_object_acl(): + zonegroup = realm.master_zonegroup() + zonegroup_conns = ZonegroupConns(zonegroup) + primary = zonegroup_conns.rw_zones[0] + secondary = zonegroup_conns.rw_zones[1] + + bucket = primary.create_bucket(gen_bucket_name()) + log.debug('created bucket=%s', bucket.name) + + # upload a dummy object and wait for sync. + k = new_key(primary, bucket, 'dummy') + k.set_contents_from_string('foo') + zonegroup_meta_checkpoint(zonegroup) + zonegroup_data_checkpoint(zonegroup_conns) + + #check object on secondary before setacl + bucket2 = get_bucket(secondary, bucket.name) + before_set_acl = bucket2.get_acl(k) + assert(len(before_set_acl.acl.grants) == 1) + + #set object acl on primary and wait for sync. + bucket.set_canned_acl('public-read', key_name=k) + log.debug('set acl=%s', bucket.name) + zonegroup_data_checkpoint(zonegroup_conns) + zonegroup_bucket_checkpoint(zonegroup_conns, bucket.name) + + #check object secondary after setacl + bucket2 = get_bucket(secondary, bucket.name) + after_set_acl = bucket2.get_acl(k) + assert(len(after_set_acl.acl.grants) == 2) # read grant added on AllUsers @attr('data_sync_init') def test_bucket_full_sync_after_data_sync_init():