[openstack-dev] [nova] Proposal: remove the server groups feature

Qiming Teng tengqim at linux.vnet.ibm.com
Tue Apr 29 15:08:11 UTC 2014


On Mon, Apr 28, 2014 at 10:58:50AM -0600, Chris Friesen wrote:
> On 04/25/2014 03:15 PM, Jay Pipes wrote:
> 
> >There are myriad problems with the above user experience and
> >implementation. Let me explain them.
> >
> >1. The user isn't creating a "server group" when they issue a nova
> >server-group-create call. They are creating a policy and calling it a
> >group. Cognitive dissonance results from this mismatch.
> 
> I actually don't think this is true.  From my perspective they are
> actually creating a group, and then when booting servers they can be
> added into the group.
> 
> The group happens to have a policy, it is not only a policy.

I tend to agree to this. Server groups today are just a starting point.
A server group can be used for different purposes like load-balancing, 
auto-scaling, high-availability or even a combination of them, just name
a few.  With that said, I would also like to see the policies separated 
from the group itself.  One or more policies can be associated with a
group (just like a 'floating-ip'), but the policies are managed
separately.
> >2. There's no way to add an existing server to this "group".
> 
> In the original API there was a way to add existing servers to the
> group.  This didn't make it into the code that was submitted.  It is
> however supported by the instance group db API in nova.

To disallow "putting an apple into a basket of oranges", we will need to
come up with some admission control/validation.  It is complicated, but
doable, IMO.

> >3. There's no way to remove members from the group
> 
> In the original API there was a way to remove members from the
> group. This didn't make it into the code that was submitted.
> 

Just like 'adding new members', 'removing members' can be done if
certain conditions are met.  We can safely assume the users do
understand what they are doing.  I mean, we can leave the high level
policy decisions to users, with nova only providing dumb mechanisms.

> >4. There's no way to manually add members to the server group
> 
> Isn't this the same as item 2?
> 
> >5. The act of telling the scheduler to place instances near or away from
> >some other instances has been hidden behind the server group API, which
> >means that users doing a nova help boot will see a --group option that
> >doesn't make much sense, as it doesn't describe the scheduling policy
> >activity.

The confusion here is understandable, because we want to consider both
the policies and the mechanisms at the same time.  Maybe we can leave
the policies out of this discussion.

> 
> There are many things hidden away that affect server
> booting...metadata matching between host aggregates and flavor extra
> specs, for instance.
> 
> As I understand it, originally the concept of "server groups" was
> more broad.  They supported multiple policies, arbitrary group
> metadata, etc.  The scheduler policy was only one of the things that
> could be associated with a group.  This is why the underlying
> database structure is more complicated than necessary for the
> current set of supported operations.
> 
> What we have currently is sort of a "dumbed-down" version but now
> that we have the basic support we can start adding in additional
> functionality as desired.
> 
> Chris
> 




More information about the OpenStack-dev mailing list