On Fri, 9 Jun 2017 10:37:15 +0530 Niels de Vos <[email protected]> wrote:
> > > we are looking for S3 plugin with ACLS so that we can integrate gluster > > > with that. > > > > Did you look into porting Ceph RGW on top of Gluster? > > This is one of the longer term options that we have under consideration. > I am very interested in your reasons to suggest it, care to elaborate a > little? RGW seems like the least worst starting point in terms of the end result you're likely to get. The swift3 does a good job for us in OpenStack Swift, providing a degree of compatibility with S3. When Kota et.al. took over from Tomo, they revived the development successfully. However, it remains fundamentally limited in what it does, and its main function is to massage S3 to fit it on top of Swift. If you place it in front of Gluster, you're saddled with this fundamental incompatibility, unless you fork swift3 and rework it beyond recognition. In addition, surely you realize that swift3 is only a shim and you need to have an object store to back it. Do you even have one in Gluster? Fedora used to ship a self-contained S3 store "tabled", so unlike swift3 it's complete. It's written in C, so may be better compatible with Gluster's development environment. However, it was out of development for years and it only supports canned ACL. You aren't getting the full ACLs with it that you're after. The RGW gives you all that. It's well-compatible with S3, because it is its native API (with Swift API being grafted on). Yehuda and crea maintain a good compatibility. Yes, it's in C++, but the dialect is reasonable, The worst downside is, yes, it's wedded to Ceph's RADOS and you need a major surgery to place it on top of Gluster. Nonetheless, it seems like a better defined task to me than trying to maintain your own webserver, which you must do if you select swift3. There are still some parts of RGW which will give you trouble. In particular, it uses loadable classes, which run in the context of Ceph OSD. There's no place in Gluster to run them. You may have to drag parts of OSD into the project. But I didn't look closely enough to determine the feasibility. In your shoes, I'd talk to Yehuda about this. He knows the problem domain exceptionally and will give you a good advice, even though you're a competitor in Open Source in general. Kinda like I do now :-) Cheers, -- Pete __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
