Description of problem: When installing the GlusterFS 3.4 Alpha 2 RPMs on a CentOS system, the object-storage file posting functionality is broken. Version-Release number of selected component (if applicable): 3.4 Alpha 2 How reproducible: 100% Steps to Reproduce: 1. Install all of the 3.4 Alpha 2 RPMs from: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/3.4.0alpha/ 2. Setup swift (I'm using tempauth) 3. Try to PUT a file. Actual results: The following error is logged, and a 500-class error is returned to the client: Mar 16 16:30:40 r3master object-server ERROR __call__ error with PUT /admin/0/AUTH_admin/27493e6c3d7a40bf98eae94e4be20d00_1/e082450941664335a0ac42ffddb623b5 : #012Traceback (most recent call last):#012 File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 892, in __call__#012 res = method(req)#012 File "/usr/lib/python2.6/site-packages/swift/common/utils.py", line 1350, in wrapped#012 return func(*a, **kw)#012 File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 643, in PUT#012 file.put(fd, tmppath, metadata)#012 File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__#012 self.gen.throw(type, value, traceback)#012 File "/usr/lib/python2.6/site-packages/gluster/swift/common/DiskFile.py", line 331, in mkstemp#012 yield fd#012 File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 591, in PUT#012 with file.mkstemp() as (fd, tmppath):#012TypeError: 'int' object is not iterable (txn: tx0f10da8ee3554c9f8606360057eeb4c8) Expected results: Successful response code to the client, and the file posted to the Gluster volume Additional info: This appears to be due to the fact that this line: https://github.com/openstack/swift/blob/1.7.4/swift/obj/server.py#L550 Is calling this function: https://github.com/gluster/glusterfs/blob/master/ufo/gluster/swift/common/DiskFile.py#L305 But expecting 2 parameters to be yielded (fd, and tmppath) rather than the one yielded on line 327. This appears to be the correct behavior for swift 1.7.6, as seen here: https://github.com/openstack/swift/blob/1.7.6/swift/obj/server.py#L616 However, swift 1.7.4 is what is being built into 3.4 Alpha 2.
*** This bug has been marked as a duplicate of bug 923580 ***
Re-opened after looking into this a bit on IRC with kkeithley, awheeler, and johnmark. kkeithley has an idea what the cause may be, but is overloaded. Whoever picks this up should probably ping kkeithley for this thoughts on it.
This bug still exists in the current master git, using RPMs built by following: http://www.gluster.org/community/documentation/index.php/CompilingRPMS
Raised priority and severity, as this bug is semi-blocker-ish.
Created attachment 716665 [details] This patch works-around this bug. This is a work-around, and reverts some changes made here: https://github.com/gluster/glusterfs/commit/1338ad168a4a468636909322dace9dc9f750dd13
Created attachment 716666 [details] This patch works-around this bug, now fixes a delete problem.
Created attachment 716667 [details] This patch works-around this bug, now fixes a delete problem.
REVIEW: http://review.gluster.org/4735 (object-storage: swift file upload (post)) posted (#1) for review on release-3.4 by Kaleb KEITHLEY (kkeithle)