Bug 1423858

Summary: Manifest file of a static large object does not sync in multisite env
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: shilpa <smanjara>
Component: RGWAssignee: Casey Bodley <cbodley>
Status: CLOSED ERRATA QA Contact: shilpa <smanjara>
Severity: medium Docs Contact: Erin Donnelly <edonnell>
Priority: unspecified    
Version: 2.2CC: cbodley, ceph-eng-bugs, edonnell, hnallurv, kbader, kdreyer, mbenjamin, owasserm, smanjara, sweil, uboppana
Target Milestone: rc   
Target Release: 2.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: ceph-10.2.7-11.el7cp Ubuntu: ceph_10.2.7-12redhat1xenial Doc Type: Bug Fix
Doc Text:
.Swift SLOs can now be read from any other zones Previously, the Ceph Object Gateway failed to fetch manifest files of Swift Static Large Objects (SLO). As a consequence, an attempt to read those objects from any other zone than the zone where the object was originally uploaded failed. This bug has been fixed, and the objects are read from all zones as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-19 13:29:32 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:
Bug Depends On:    
Bug Blocks: 1412948, 1437916    

Description shilpa 2017-02-17 15:01:11 UTC
Description of problem:
Manifest while that contains information of swift large object segments does not sync. 

Version-Release number of selected component (if applicable):
ceph-radosgw-10.2.5-22.el7cp.x86_64

How reproducible:
Always

Steps to Reproduce:
1 Configure multisite with three zones in different clusters.
2. Segment a large object and upload the segments to a container using the following command on one of the zones.
# curl -v -X PUT -H "X-Auth-Token: AUTH_rgwtk0a000000757365723a73776966740b720d95a8ec973269a1a2585263181296489905c5add9565c4b6ff038cbd6f2dedfeb0a" -T segaa http://rgw:8080/swift/v1/current/segaa

3. Upload a manifest file.
 curl -v -X PUT -H "X-Auth-Token: AUTH_rgwtk0a000000757365723a73776966740b720d95a8ec973269a1a2585263181296489905c5add9565c4b6ff038cbd6f2dedfeb0a" "http://rgw:8080/swift/v1/current/random?multipart-manifest=put" -T manifest.json

# cat manifest 
[
 { "path": "new/segaa",
   "etag": "b5569ee4b2bd227f202ccf3daf036b60",
   "size_bytes": 2097152
 },
 { "path": "new/segab",
   "etag": "9df301504ca3437f5244d781d33e7574",
   "size_bytes": 2097152
 },
 { "path": "new/segac",
   "etag": "87b6f0f47900d129d93b049caee7f724",
   "size_bytes": 2097152
 },
 { "path": "new/sagad",
   "etag": "1035d04ee5f8d231ec64739d41587233",
   "size_bytes": 2097152
 }
]

4. # swift -A http://rgw:8080/auth/1.0 -U user:swift -K 'uYh9A94G2xF6CHZujkcAYpjK4NAJJR25LwlBfWxc' list current
random
segaa
segab
segac
segad

5. Check if the large object 'random' has synced to all zones

Actual results:
The file 'random' which is the manifest file does not sync to the other zones. Only the segments sync. Hence there is no way to retrieve the full object from a different zone.

Comment 2 Harish NV Rao 2017-02-21 14:30:50 UTC
@Uday, I am re-targeting this to 2.2 for now. Could you please let us know your decision on this BZ?

Comment 12 Ken Dreyer (Red Hat) 2017-04-06 23:08:21 UTC
The jewel backport was not completed upstream (http://tracker.ceph.com/issues/19474) so I take it we need patches downstream here?

Comment 13 Casey Bodley 2017-04-24 15:30:26 UTC
Thanks Ken, I did the manual backport for Jewel at https://github.com/ceph/ceph/pull/14752, and cherry-picked the commits to ceph-2-rhel-patches.

Comment 24 shilpa 2017-05-16 06:58:48 UTC
Tested again on a new system. Works fine. Moving to verified

Comment 28 errata-xmlrpc 2017-06-19 13:29:32 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-2017:1497