[Openstack] Pondering multi-tenant needs in nova.
gholt at rackspace.com
Mon Feb 7 15:33:03 UTC 2011
On Feb 7, 2011, at 8:30 AM, Jay Pipes wrote:
> What Swift APIs are available for a reseller to query which of its
> customer accounts have consumed X resources? Or does Swift punt and
> make the reseller calculate all those things?
A bit of both. You can head an account to get get disk usage, object count type stats. But most stats are via log processing after the fact.
> Does Swift enforce the uniqueness constraint you allude to above? If
> not, why bother even having the uniqueness constraint?
Yes, the reseller creates the Swift account, if it already exists they get a 409 conflict.
> Again, this has nothing to do with authentication. Nova has a separate
> users table that relates to the auth system. This, AFAIK, has nothing
> to do with auth.
Okay, okay, no need to get upset. :P They are related in Swift though. For instance, if someone wanted to set up a container that several users could all access they would do that with these opaque strings. They wouldn't create a new group in Swift or some such. Those kind of org structures are outside Swift. Swift just knows "allow x to have access" and "token t auths to groups g".
> Depends how much they value the ability not to have to constantly
> query information from the Swift API and then immediately re-structure
> the data and construct aggregate reports from the raw data after
> munging it into their own org structure.
Sure. You make it sound so evil, but it's not that bad. Account x maps to something on their side and they're done.
Someone has to do the aggregate reporting, etc. work. We're working towards an example system that does that, but we're trying to keep it out of the core of Swift if possible. A good reason for this is that we expect a lot of improvements to happen in this area, and likely they'll be applicable to more than just Swift.
But, all that said, Nova's mileage may vary. :) Just stating what Swift's been doing if it's any help.
More information about the Openstack