[openstack-dev] [Nova][Trove] Managed Instances Feature

Russell Bryant rbryant at redhat.com
Mon Apr 7 12:29:55 UTC 2014


On 04/06/2014 03:22 PM, Vipul Sabhaya wrote:
> 
> 
> 
> On Sun, Apr 6, 2014 at 9:36 AM, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
> 
>     On 04/06/2014 09:02 AM, Christopher Yeoh wrote:
>     > On Sun, Apr 6, 2014 at 10:06 AM, Hopper, Justin
>     <justin.hopper at hp.com <mailto:justin.hopper at hp.com>
>     > <mailto:justin.hopper at hp.com <mailto:justin.hopper at hp.com>>> wrote:
>     >
>     >     Russell,
>     >
>     >     At this point the guard that Nova needs to provide around the
>     instance
>     >     does not need to be complex.  It would even suffice to keep those
>     >     instances hidden from such operations as ³nova list² when
>     invoked by
>     >     directly by the user.
>     >
>     >
>     > Are you looking for something to prevent accidental manipulation of an
>     > instance created by Trove or intentional changes as well? Whilst doing
>     > some filtering in nova list is simple on the surface, we don't try to
>     > keep server uuids secret in the API, so its likely that sort of
>     > information will leak through other parts of the API say through
>     volume
>     > or networking interfaces. Having to enforce another level of
>     permissions
>     > throughout the API would be a considerable change. Also it would
>     > introduce inconsistencies into the information returned by Nova - eg
>     > does quota/usage information returned to the user include the server
>     > that Trove created or is that meant to be adjusted as well?
>     >
>     > If you need a high level of support from the Nova API to hide servers,
>     > then if its possible, as Russell suggests to get what you want by
>     > building on top of the Nova API using additional identities then I
>     think
>     > that would be the way to go. If you're just looking for a simple
>     way to
>     > offer to Trove clients a filtered list of servers, then perhaps Trove
>     > could offer a server list call which is a proxy to Nova and
>     filters out
>     > the servers which are Trove specific since Trove knows which ones it
>     > created.
> 
>     Yeah, I would *really* prefer to go the route of having trove own all
>     instances from the perspective of Nova.  Trove is what is really
>     managing these instances, and it already has to keep track of what
>     instances are associated with which user.
> 
> Although this approach would work, there are some manageability issues
> with it.  When trove is managing 100’s of nova instances, then things
> tend to break down when looking directly at the Trove tenant through the
> Nova API and trying to piece together the associations, what resource
> failed to provision, etc.

This isn't specific enough to understand what the problem is.

>     It sounds like what you really want is for Trove to own the instances,
>     so I think we need to get down to very specifically won't work with that
>     approach.
> 
>     For example, is it a billing thing?  As it stands, all notifications for
>     trove managed instances will have the user's info in them.  Do you not
>     want to lose that?  If that's the problem, that seems solvable with a
>     much simpler approach.
> 
> 
> We have for the most part solved the billing issue since Trove does
> maintain the association, and able to send events on-behalf of the
> correct user.  We would lose out on the additional layer of checks that
> Nova provides, such as Rate Limiting per project, Quotas enforced at the
> Nova layer.  The trove tenant would essentially need full access without
> any such limits.

Don't you get rate limiting and quotas through the trove API, instead?

-- 
Russell Bryant



More information about the OpenStack-dev mailing list