Bug 924792
| Summary: | Gluster-swift does not allow operations on multiple volumes concurrently. | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Alex Wheeler <wheelear> |
| Component: | object-storage | Assignee: | crisbud <crisbud> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | pushpesh sharma <psharma> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 3.4.0-alpha | CC: | bbandari, gluster-bugs, rhs-bugs, vagarwal, vbellur, wheelear, yinyin2010 |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glusterfs-3.5.0 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 909053 | Environment: | |
| Last Closed: | 2014-04-17 11:41:08 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Not reproducible on latest upstream G4S.(Havana based) | Category: | --- |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 909053 | ||
| Attachments: | |||
|
Description
Alex Wheeler
2013-03-22 14:10:55 UTC
Hi Alex, If you read the commit message there, to enable the volumes to be exposed by UFO the users have to rebuild the ring files by running gluster-swift-gen-builders with the list of volume names. $ gluster-swift-gen-builders <vol-name1> [<vol-name2>]... Did you try this out? Yes I did, and in fact I had to do that to get this far, otherwise I get the 'No export found in %r matching drive, %s', el, drive' error. Looking at the snippet above, there are three requests logged. The first, a HEAD, correctly sets the account as /test/. The second, a PUT, also correctly set the account as /test/. For the third though, something has gone wrong, and rather than continue to use the correct volume it is converted to the first volume that was passed in the gluster-swift-gen-builders. So, for this sample, the command, executed in /etc/swift, was: gluster-swift-gen-builders admin test When I invert the order, as gluster-swift-gen-builders test admin, and try a PUT on the admin volume, I get the same behavior as seen above, where the first two requests are for admin, and the last for test. Created attachment 717356 [details]
This patch adds the missing functions to ring.py
For the container-server, the function get_part_nodes was being called instead of get_nodes. As the gluster version of ring.py didn't implement that, the swift version was called, and was returning the wrong value.
Created attachment 717381 [details]
Updates the test_ring.py to test for this situation
Created attachment 717392 [details]
Added more test coverage
Created attachment 718091 [details]
Re-factored, and corrects the return type for get_more_nodes
I'll be submitting this patch to Gerrit shortly.
Created attachment 718100 [details]
Broke the test cases out to multiple, meaningfully named tests
REVIEW: http://review.gluster.org/4748 (Adds missing functions to ring.py, and more thorough tests.) posted (#1) for review on master by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#1) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4857 (object-storage: Restoring multi volume support in UFO.) posted (#2) for review on release-3.4 by Kaleb KEITHLEY (kkeithle) REVIEW: http://review.gluster.org/4860 (object-storage: Restoring multi volume support in UFO.) posted (#1) for review on release-3.3 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4861 (Adds missing functions to ring.py, and more thorough tests.) posted (#1) for review on release-3.3 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#2) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4857 (object-storage: Restoring multi volume support in UFO.) posted (#4) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#3) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#4) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#5) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4857 (object-storage: Restoring multi volume support in UFO.) posted (#5) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4858 (Adds missing functions to ring.py, and more thorough tests.) posted (#6) for review on release-3.4 by Alex Wheeler (wheelear) REVIEW: http://review.gluster.org/4857 (object-storage: Restoring multi volume support in UFO.) posted (#6) for review on release-3.4 by Alex Wheeler (wheelear) Just doing the book keeping part here : patch is merged in master in ufo repository. http://review.gluster.org/#/c/4748/ This needs to be reverified with HAVANA based code and updated. Thanks, Chetan Risbud. Not reproducible on latest upstream G4S.(Havana based) This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.5.0, please reopen this bug report. glusterfs-3.5.0 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user |