Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
This project is now read‑only. Starting Monday, February 2, please use https://ibm-ceph.atlassian.net/ for all bug tracking management.

Bug 1654933

Summary: [RGW] Upgrade from Jewel ceph 2.x to latest 3.2 causes a type mismatch on older users
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Tejas <tchandra>
Component: RGWAssignee: Matt Benjamin (redhat) <mbenjamin>
Status: CLOSED ERRATA QA Contact: Tejas <tchandra>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.2CC: cbodley, ceph-eng-bugs, hnallurv, kbader, mbenjamin, prsrivas, sweil, tserlin
Target Milestone: rc   
Target Release: 3.2   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: RHEL: ceph-12.2.8-48.el7cp Ubuntu: ceph_12.2.8-43redhat1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-03 19:02:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tejas 2018-11-30 04:44:12 UTC
Description of problem:
    Cluster was upgraded from  ceph jewel ceph 10.2.10.x to Luminous ceph 12.2.8,
We had older users created on jewel. Tried creating buckets after upgrade, which is leading to segfaults.

Version-Release number of selected component (if applicable):
ceph version 12.2.8-39redhat1xenia


Steps to Reproduce:
1. On a jewel cluster created user and buckets.
2. Upgrade to latest 3.2
3. Try to list buckets or create buckets using the older jewel user, observing seg fault.


-7> 2018-11-30 02:23:46.687697 7f853f7fe700  2 req 27:0.004744:s3:PUT /tb2/:create_bucket:normalizing buckets and tenants
    -6> 2018-11-30 02:23:46.687735 7f853f7fe700  2 req 27:0.004782:s3:PUT /tb2/:create_bucket:init permissions
    -5> 2018-11-30 02:23:46.687768 7f853f7fe700  2 req 27:0.004815:s3:PUT /tb2/:create_bucket:recalculating target
    -4> 2018-11-30 02:23:46.687776 7f853f7fe700  2 req 27:0.004823:s3:PUT /tb2/:create_bucket:reading permissions
    -3> 2018-11-30 02:23:46.687780 7f853f7fe700  2 req 27:0.004827:s3:PUT /tb2/:create_bucket:init op
    -2> 2018-11-30 02:23:46.687784 7f853f7fe700  2 req 27:0.004832:s3:PUT /tb2/:create_bucket:verifying op mask
    -1> 2018-11-30 02:23:46.687791 7f853f7fe700  2 req 27:0.004838:s3:PUT /tb2/:create_bucket:verifying op permissions
     0> 2018-11-30 02:23:46.691942 7f853f7fe700 -1 *** Caught signal (Segmentation fault) **
 in thread 7f853f7fe700 thread_name:civetweb-worker

 ceph version 12.2.8-39redhat1xenial (31b25bc7bd626437e6b3da93b2de79640d8ccf61) luminous (stable)
 1: (()+0x2b6cf4) [0x55d20474fcf4]
 2: (()+0x11390) [0x7f863dc57390]
 3: (RGWAccessControlPolicy::get_perm(rgw::auth::Identity const&, unsigned int, char const*)+0x20) [0x55d204a41ad0]
 4: (RGWAccessControlPolicy::verify_permission(rgw::auth::Identity const&, unsigned int, unsigned int, char const*)+0x3c) [0x55d204a423ec]
 5: (verify_user_permission_no_policy(req_state*, RGWAccessControlPolicy*, int)+0x258) [0x55d2047a02d8]
 6: (verify_user_permission(req_state*, RGWAccessControlPolicy*, std::vector<rgw::IAM::Policy, std::allocator<rgw::IAM::Policy> > const&, rgw::IAM::ARN const&, unsigned long)+0xb6) [0x55d2047a8486]
 7: (RGWCreateBucket::verify_permission()+0xa1) [0x55d2048428a1]
 8: (rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, bool)+0x102) [0x55d204885792]
 9: (process_request(RGWRados*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, int*)+0x1e3c) [0x55d2048879fc]
 10: (RGWCivetWebFrontend::process(mg_connection*)+0x38f) [0x55d2046cc9df]
 11: (()+0x2a8639) [0x55d204741639]
 12: (()+0x2aa009) [0x55d204743009]
 13: (()+0x76ba) [0x7f863dc4d6ba]
 14: (clone()+0x6d) [0x7f8632c9741d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.


root@magna009:~# radosgw-admin user info --uid test1
{
    "user_id": "test1",
...
 "type": "none"

root@magna009:~# radosgw-admin user info --uid local
{
    "user_id": "local",
...
 "type": "rgw"

Comment 9 errata-xmlrpc 2019-01-03 19:02:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:0020