[openstack-dev] [Nova] A proposal for group API extension

Russell Bryant rbryant at redhat.com
Fri May 10 16:26:30 UTC 2013


On 05/07/2013 01:46 PM, Senhua Huang (senhuang) wrote:
> Hi all,
> 
> At the summit a few weeks ago, we (Gary Kotton, Gilad Zlotkin, Alex
> Glikson, I and a few other Nova developers) were talking about group
> scheduling, cross-project scheduling and so on. As a first step towards
> these long term goals, we have been working on an API extension to Nova
> that achieves the following goals:
> 
>   * to allow tenants to create a "group", which defines the desired
>     relationship among all the members within this group
>   * to allow tenants to add VM instances to an existing group
>   * to allow tenants to remove a VM instance from an existing group
>   * to allow tenants to specify policies (e.g., anti-affinity,
>     network-proximity, rack-aware) that apply to the group
>   * to allow tenants to view/list/describe a particular group
>   * to allow tenants to remove a group
> 
> 
> In essence, "group" defines the relationship among individual instances.
> You can think of it as the hyper edge with properties in a hyper graph
> in the most abstract manner. There are several benefits of introducing
> this additional construct:
> 
>   * it is more intuitive to use than padding various hints to every
>     related instance creation call (now the relationship among these
>     instances are handled by "group"
>   * it makes easier to add scheduling algorithms that attempt to place a
>     set of VM instances to achieve failure resilience, redundancy,
>     topology-wareness and so on.
> 
> 
> Gary, Alex, and I have put together an initial design doc on the API and
> how to use it for group scheduling:
> https://docs.google.com/document/d/1QUThPfZh6EeOOz1Yhyvx-jFUYHQgvCw9yBAGDGc0y78/edit?usp=sharing
> 
> A related blue print is also created for Nova:
> https://blueprints.launchpad.net/nova/+spec/group-api-extension
> 
> We'd appreciate your feedback on the API and blue print and in
> particularly whether there are interesting potential use cases that
> can/cannot be supported by this API extension.

I just read over this proposal.  I don't have much to add.  I think this
will be a nice feature.  Nice work, guys.

Given the timing of development, we may want to consider adding this as
a v3 API only extension.  Completion of the v3 API is currently targeted
at the same milestone as this work (havana-2).

-- 
Russell Bryant



More information about the OpenStack-dev mailing list