On Fri, Jun 10, 2011 at 05:06:00PM +0200, Michael Hanselmann wrote:
> Am 9. Juni 2011 14:44 schrieb Iustin Pop <[email protected]>:
> > On Mon, Jun 06, 2011 at 05:11:15PM +0200, Michael Hanselmann wrote:
> >> --- a/doc/design-multi-reloc.rst
> >> +++ b/doc/design-multi-reloc.rst
> >> +To implement this, we propose the addition of new IAllocator calls to
> >> +compute inter-group instance moves and group-aware node evacuation,
> >> +taking into account mobility domains as appropriate. The interface
> >> +proposed below should be enough to cover the use cases mentioned above.
> >
> > Maybe we should mention that the old multi-evac is deprecated?
> 
> Indeed:
> 
> @@ -28,6 +28,9 @@ compute inter-group instance moves and group-aware
> node evacuation,
>  taking into account mobility domains as appropriate. The interface
>  proposed below should be enough to cover the use cases mentioned above.
> 
> +With the implementation of this design proposal, the previous
> +``multi-evacuate`` mode will be deprecated.
> +
>  .. _multi-reloc-detailed-design:
> 
> 
> >> +Changing instance's groups
> >> +--------------------------
> >>
> >> +Takes a list of instances and a list of node group UUIDs; the instances
> >> +will be moved away from their current group, to any of the groups in
> >> +this list. If the list is empty, the request is simply "change group"
> >> +and the instances are placed in any group but their original one.
> >
> > Plus mention that for the moment, all instances must come from the same
> > group?
> 
> Interdiff:
> 
>  Takes a list of instances and a list of node group UUIDs; the instances
> -will be moved away from their current group, to any of the groups in
> -this list. If the list is empty, the request is simply "change group"
> -and the instances are placed in any group but their original one.
> +will be moved away from their current group, to any of the groups in the
> +target list. All instances need to have their primary node in the same
> +group, which may not be a target group. If the target group list is
> +empty, the request is simply "change group" and the instances are placed
> +in any group but their original one.
> 
> >> +Node evacuation
> >> +---------------
> >>
> >> +Evacuates instances off their primary nodes. The evacuation mode
> >> +can be given as ``primary-only``, ``secondary-only`` or
> >> +``all``. The call is given a list of instances whose primary nodes need
> >> +to be in the same node group.
> >>
> >> +The iallocator can decide whether it wants to keep instances in the same
> >> +node group or move them to another group.
> >
> > IMHO this shouldn't be doable. The node evac is simply in-group. Any
> > inter-group moves need to be handled via change-group.
> 
> We can add an option (or separate mode) for this, but I wouldn't
> forbid it. If one has to evacuate a number of nodes quickly, moving
> instances to other groups as part of the evacuation can help. Do you
> think there could be an issue with at least allowing this?

Allowing it, no. Actually implementing it in htools will be much more
difficult, because the two modes (in-group evac and out-of-group evac)
are very different. Plus, the out-of-group evac only makes sense when
you pass both, so for primary or secondary only it shouldn't be used,
etc.

Basically I see these as very different operations, hence I like the
clear separation. In an emergency, I would suspect that Ganeti does two
steps: first in-group evacuation for what instances are possible to move
and then out-of group evacuation for the rest. But these as separate
logical steps.

Other changes that you sent are LGTM.

thanks,
iustin

Reply via email to