Bug 2276928 - [RGW]: Object ownership not updated for existing objects following bucket owner change
Summary: [RGW]: Object ownership not updated for existing objects following bucket own...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat Storage
Component: RGW
Version: 7.1
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 8.0
Assignee: shilpa
QA Contact: Tejas
URL:
Whiteboard:
Depends On: 2272941
Blocks: 2267614 2298578 2298579
TreeView+ depends on / blocked
 
Reported: 2024-04-24 16:21 UTC by Matt Benjamin (redhat)
Modified: 2024-12-12 04:25 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2272941
Environment:
Last Closed: 2024-08-13 03:38:42 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHCEPH-8881 0 None None None 2024-04-24 16:24:47 UTC
Red Hat Issue Tracker RHCEPH-8882 0 None None None 2024-04-24 16:24:39 UTC

Description Matt Benjamin (redhat) 2024-04-24 16:21:46 UTC
+++ This bug was initially created as a clone of Bug #2272941 +++

Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Tejas on 2024-04-03 11:57:12 UTC ---

on  ceph version 18.2.1-108.el9cp (97a1c7ac2fbd4f1aaf66d8f1476b31ee58fb1abf) reef (stable)

steps done :
1. create a bucket with user1 and put 1 object
2. change bucket owner to user2 , and do a "chown"
3. on a bucket list , the object owner is empty , the same is reflected in s3cmd info
4. put a object after bucket owner change , the object owner reflected correctly.

]# radosgw-admin user create --uid tj2 --access-key 12345 --secret 12345 --display-name TJ

]# radosgw-admin user create --uid tj3 --access-key 123456 --secret 123456 --display-name TJ

]# s3cmd  -c ~/tj2 mb s3://tb1
Bucket 's3://tb1/' created

]# s3cmd  -c ~/tj2 put README.md s3://tb1/
upload: 'README.md' -> 's3://tb1/README.md'  [1 of 1]
 2444 of 2444   100% in    0s    82.97 KB/s  done

]# radosgw-admin bucket unlink --bucket  tb1 --uid tj2

]# radosgw-admin bucket link --bucket tb1 --uid tj3

]# radosgw-admin bucket stats --bucket tb1
{
    "bucket": "tb1",
    "num_shards": 0,
    "tenant": "",
    "versioning": "off",
    "zonegroup": "2b4f6a5a-e620-49ab-8eab-00daf80b390a",
    "placement_rule": "default-placement",
    "explicit_placement": {
        "data_pool": "",
        "data_extra_pool": "",
        "index_pool": ""
    },
    "id": "073a7bba-2ba3-4d30-b9aa-3157b8a46ba4.69522.156",
    "marker": "073a7bba-2ba3-4d30-b9aa-3157b8a46ba4.69522.156",
    "index_type": "Normal",
    "versioned": false,
    "versioning_enabled": false,
    "object_lock_enabled": false,
    "mfa_enabled": false,
    "owner": "tj3",   <----------- bucket owner correct


]# radosgw-admin bucket chown --bucket  tb1
1 objects processed in :tb1[073a7bba-2ba3-4d30-b9aa-3157b8a46ba4.69522.156]). Next marker README.md


]# s3cmd ls -c ~/tj3
]#              <------------- bucket not listed 


]# radosgw-admin bucket list --bucket tb1
[
    {
        "name": "README.md",
        "instance": "",
        "ver": {
            "pool": 11,
            "epoch": 593
        },
        "locator": "",
        "exists": true,
        "meta": {
            "category": 1,
            "size": 2444,
            "mtime": "2024-04-03T11:36:33.012844Z",
            "etag": "",
            "storage_class": "",
            "owner": "",      <<<<<<<<<<.  owner empty
            "owner_display_name": "",
            "content_type": "",
            "accounted_size": 2444,
            "user_data": "",
            "appendable": false
        },
        "tag": "_XUYa0x6uD6b4LHt6mfaVg4M3ghC0Ynu",
        "flags": 0,
        "pending_map": [],
        "versioned_epoch": 0
    }
]


]# s3cmd info -c ~/tj3 s3://tb1
s3://tb1/ (bucket):
   Location:  shared
   Payer:     BucketOwner
   Ownership: none
   Versioning:none
   Expiration rule: none
   Block Public Access: none
   Policy:    none
   CORS:      none
   ACL:       TJ: FULL_CONTROL



]# s3cmd  -c ~/tj3 put README.md s3://tb1/obj2
upload: 'README.md' -> 's3://tb1/obj2'  [1 of 1]
 2444 of 2444   100% in    0s    80.89 KB/s  done


]# radosgw-admin bucket list --bucket tb1 | grep owner
            "owner": "",
            "owner_display_name": "",
            "owner": "tj3",    <<<<<<<< new object has owner updated
            "owner_display_name": "TJ",

--- Additional comment from Tejas on 2024-04-03 12:35:14 UTC ---

hi Matt,
  Since this is an older feature I am marking as regression for now, and moving it to 7.1

--- Additional comment from RHEL Program Management on 2024-04-03 12:35:25 UTC ---

This bug report has Keywords: Regression or TestBlocker.

Since no regressions or test blockers are allowed between releases, it is being proposed as a blocker for this release.

Please resolve \triage ASAP.

--- Additional comment from Matt Benjamin (redhat) on 2024-04-03 13:54:27 UTC ---

Hi Folks,

I'm assigning this for triage in 7.1, but have proposed to Daniel Parkes that this be moved from 7.1 with a release note, if we cannot resolve within 1-2 weeks.
Reasoning being, that while this is a useful feature and a regression, it's very infrequently used.

Matt

--- Additional comment from shilpa on 2024-04-03 15:24:07 UTC ---

hi Tejas,

do you have the test system available?

--- Additional comment from Tejas on 2024-04-04 06:23:20 UTC ---

(In reply to shilpa from comment #5)
> hi Tejas,
> 
> do you have the test system available?

hi Shilpa ,
  CLient node is 10.0.209.145 (root/passwd), but this is a VM setup and will go away in a day or 2.

--- Additional comment from Matt Benjamin (redhat) on 2024-04-24 15:23:31 UTC ---

Hi Folks,

This behavior is a regression, but I consider it a non-blocker.  I *would* like to provide a release note in 7.1.

Shilpa had asked me to keep this open, but she is on PTO for the next two weeks.

Matt

Comment 8 Red Hat Bugzilla 2024-12-12 04:25:05 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days


Note You need to log in before you can comment on or make changes to this bug.