[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gluster-devel] The next version of UFO
From: |
Kaleb Keithley |
Subject: |
[Gluster-devel] The next version of UFO |
Date: |
Thu, 29 Nov 2012 12:35:05 -0500 (EST) |
As it stands right now, there are some problems with our UFO implementation; 1)
it’s based on OpenStack Swift-1.4.8 (Essex), which is rapidly becoming
obsolete, if it isn’t already; 2) it doesn’t use Keystone, it uses tempauth,
which doesn’t scale; 3) the implementation is a heavily patched version of
swift — a patch that is so intrusive that will make it very difficult to port
UFO to the current version of Swift (1.7.4, Folsom) and later; and 4) fixing
performance bugs is hard, we think it'll be easier to fix them if we clean up
the implementation first.
Not only is the patch so big that it’s hard to port, but it has been deemed by
some to be — essentially — a fork of Swift. Needless to say, we don’t want to
maintain a fork in perpetuity, nor do we want to make moving to newer versions
hard (because that would be yet another fork), and we want to be good Open
Source citizens and not unnecessarily fork things that don’t need to be forked.
And theory says if we make porting to new versions simple and easy, then we can
minimize the lag between OpenStack’s releases and our own releases of UFO. And
if we can make UFO be completely version agnostic when it comes to Swift; then,
when new versions of Swift are released, UFO will automatically work with it
with no effort on our part.
To that end, we’re working on rewriting UFO. Instead of patching the Swift
sources, we’re implementing a set of layered subclasses that contain the UFO
functionality outside of Swift per se. This implementation does rely on a patch
of code that has been accepted into the Swift 1.7.5 source. It’s referred to it
as the constraints-config-backport patch. We’re lobbying the Fedora community
to accept the constraints-config-backport patch into the openstack-swift RPMs
that they distribute so that we do not have to provide our lightly patched
version of Swift in the glusterfs RPMs.
These changes are already on the HEAD of the glusterfs git tree. I have a set
of RPMs in an experimental YUM repo at
http://repos.fedorapeople.org/repos/kkeithle/glusterfs/XX-ufo/ and instructions
for setting up UFO are in my blog article at
http://www.gluster.org/2012/11/a-better-ufo-is-coming-soon/
Ultimately we'd like to get buy-in from the community and move toward shipping
this new 1.1 implementation of UFO relatively soon. The sooner we ship this —
still based on Swift 1.4.8 — the sooner we can roll out the next one, based on
Swift 1.7.4 (or later).
So give it a try, let us know what you think. If you have questions, please
don't hesitate to ask.
--
Kaleb
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gluster-devel] The next version of UFO,
Kaleb Keithley <=