I think part of the problem with the whole Swift situation is that it does 
something most other OpenStack projects don't do. Its both a control plane and 
a data plane.

For example, Cinder provides a unified api and provides plugins to allow 
vendors to plug in their particular special sauce in. Through flavors, multiple 
plugins can be supported at once and everyone can go about doing what they do 
best. It isolates the vendor specific stuff from the api users expect.

Swift is in a strange place where the api is implemented in a way to favor one 
particular vendor backend implementation. The vendor is in the tent which is 
good, but other vendors have legitimate reasons to implement their own variants 
and they can't plugin nicely to the existing thing, which is bad. So, vendors 
have been forced to clean room reimplement the api. This means sites can only 
choose one and only one Swift api endpoint, and OpenStacks can't be tested 
properly. There is a lot of variation in clouds here. Its a common problem, and 
its only going to get worse if we don't start addressing it.

I think one solution would be to formalize the api as part of a plugin api, and 
add a control/multi-flavors service on top that the keystone service catalog 
returns. Initial traffic goes through it to identify which flavor to go to, and 
then things are redirected directly to the endpoint for the particular flavor. 
The current Swift implementation then has a nice place to plugin, so does 
radosgw, and any other vendors too.

I'd love to be able to plugin Swift into our sites, but because we can only 
have one, the various tradoffs have lead us to deploy RadosGW most of the time.

Some legitimate, non conflicting use cases of each category:
 * Swift's great for its advanced features, open community, etc.
 * RadosGW is great if you have an investment in Ceph and don't want to split 
your storage. It also reduces admin costs if you are Ceph already.
* Other vendors provide support for stuff like tape library storage, reducing 
costs for backend storage.

We should not be forcing operators to choose just one of these.

Would this kind of rearrangement help resolve some of the issues? Language 
choice and in tree vs out of tree are separate discussions to testing things 
and being inclusive at that point.

Thanks,
Kevin
________________________________________
From: Monty Taylor [mord...@inaugust.com]
Sent: Wednesday, May 04, 2016 12:47 PM
To: openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [tc] supporting Go

On 05/04/2016 01:31 PM, Fox, Kevin M wrote:
> Explicitly, no. I agree. Implicitly... ? Why bother to even propose joining 
> when you know the rules clearly state that its not acceptable? I don't claim 
> to know what has gone on internally in such teams. I'm just saying just 
> because there hasn't been visible signs here of exclusion doesn't mean 
> exclusion hasn't happened.

At no point in time has the C++ nature of ceph EVER been even an
implicit blocker for any actions that were desired by either OpenStack
or Ceph.

There are other issues, such as it being an alternate/competing
implementation to an existing OpenStack service that was not done by the
existing OpenStack team. If the ceph team were to decide that they
wanted to be an OpenStack project instead of an independent project,
which to my knowledge has never been expressed by them as a desire, that
would be the important thing to discuss - and it's a thing that should
not be taken lightly.

As it is, the desire has not be expressed, nor has it be deflected, nor
has it been blocked. If any of those things _had_ happened, C++ would
not have been nor would it be a relevant or interesting part of the
discussion.


> Thanks,
> Kevin
> ________________________________________
> From: Pete Zaitcev [zait...@redhat.com]
> Sent: Wednesday, May 04, 2016 10:40 AM
> To: Fox, Kevin M
> Cc: OpenStack Development Mailing List (not for usage questions)
> Subject: Re: [openstack-dev] [tc] supporting Go
>
> On Tue, 3 May 2016 22:37:30 +0000
> "Fox, Kevin M" <kevin....@pnnl.gov> wrote:
>
>> RadosGW has been excluded from joining the OpenStack community in part
>> due to its use of c++.
>
> Sounds like sheer lunacy. Nothing like that ever happened, AFAIK.
>
> -- Pete
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to