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

Russell Bryant rbryant at redhat.com
Sat Apr 5 21:20:34 UTC 2014


On 04/04/2014 08:12 PM, Hopper, Justin wrote:
> Greetings,
> 
> I am trying to address an issue from certain perspectives and I think
> some support from Nova may be needed.
> 
> _Problem_
> Services like Trove use run in Nova Compute Instances.  These Services
> try to provide an integrated and stable platform for which the “service”
> can run in a predictable manner.  Such elements include configuration of
> the service, networking, installed packages, etc.  In today’s world,
> when Trove spins up an Instance to deploy a database on, it creates that
> Instance with the Users Credentials.  Thus, to Nova, the User has full
> access to that Instance through Nova’s API.  This access can be used in
> ways which unintentionally compromise the service.
> 
> _Solution_
> A proposal is being formed that would put such Instances in a read-only
> or invisible mode from the perspective of Nova.  That is, the Instance
> can only be managed from the Service from which it was created.  At this
> point, we do not need any granular controls.  A simple lock-down of the
> Nova API for these Instances would suffice.  However, Trove would still
> need to interact with this Instance via Nova API.
> 
> The basic requirements for Nova would be…
> 
>     A way to identify a request originating from a Service vs coming
>     directly from an end-user
>     A way to Identify which instances are being managed by a Service
>     A way to prevent some or all access to the Instance unless the
>     Service ID in the request matches that attached to the Instance
> 
> Any feedback on this would be appreciated.

The use case makes sense to me.  I'm thinking we should expect an
identity to be created in Keystone for trove and have trove use that for
managing all of its instances.

If that is sufficient, trove would need some changes to use its service
credentials instead of the user credentials.  I don't think any changes
are needed in Nova.

Is there anything missing to support your use case using that approach?

-- 
Russell Bryant



More information about the OpenStack-dev mailing list