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?

>> --- a/doc/iallocator.rst
>> +++ b/doc/iallocator.rst
>> +    moved within its node group. The ``multi-evacuate`` protocol
>> +    requests that the script computes the optimal relocate solution for
>> +    all secondary instances of the given nodes.
>
> … and is marked deprecated.

Interdiff:

@@ -193,9 +193,12 @@ In all cases, it includes:
     ``multi-relocate`` or ``multi-evacuate``. The ``allocate`` request
     is used when a new instance needs to be placed on the cluster. The
     ``relocate`` request is used when an existing instance needs to be
-    moved within its node group. The ``multi-evacuate`` protocol
-    requests that the script computes the optimal relocate solution for
-    all secondary instances of the given nodes.
+    moved within its node group.
+
+    The ``multi-evacuate`` protocol used to request that the script
+    computes the optimal relocate solution for all secondary instances
+    of the given nodes. It is now deprecated and should no longer be
+    used.

Michael

Reply via email to