Skip to content
Snippets Groups Projects
Commit 6d267b81 authored by Adeodato Simo's avatar Adeodato Simo
Browse files

Update iallocator.rst for multi-reloc mode


Signed-off-by: default avatarAdeodato Simo <dato@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent 7fa310f6
No related branches found
No related tags found
Loading
...@@ -28,6 +28,8 @@ that will be able to compute inter-group instance moves, taking into ...@@ -28,6 +28,8 @@ that will be able to compute inter-group instance moves, taking into
account mobility domains as appropriate. The interface proposed below account mobility domains as appropriate. The interface proposed below
should be enough to cover the use cases mentioned above. should be enough to cover the use cases mentioned above.
.. _multi-reloc-detailed-design:
Detailed design Detailed design
=============== ===============
......
...@@ -189,13 +189,15 @@ follows. ...@@ -189,13 +189,15 @@ follows.
In all cases, it includes: In all cases, it includes:
type type
the request type; this can be either ``allocate``, ``relocate`` or the request type; this can be either ``allocate``, ``relocate``,
``multi-evacuate``; the ``allocate`` request is used when a new ``multi-relocate`` or ``multi-evacuate``. The ``allocate`` request
instance needs to be placed on the cluster, while the ``relocate`` is used when a new instance needs to be placed on the cluster. The
request is used when an existing instance needs to be moved within ``relocate`` request is used when an existing instance needs to be
the cluster; the ``multi-evacuate`` protocol requests that the moved within its node group, while the ``multi-relocate`` one is
script computes the optimal relocate solution for all secondary able to relocate multiple instances across multiple node groups. The
instances of the given nodes ``multi-evacuate`` protocol requests that the script computes the
optimal relocate solution for all secondary instances of the given
nodes.
For both allocate and relocate mode, the following extra keys are needed For both allocate and relocate mode, the following extra keys are needed
in the ``request`` dictionary: in the ``request`` dictionary:
...@@ -268,8 +270,26 @@ Relocation: ...@@ -268,8 +270,26 @@ Relocation:
Ganeti 2.0, this list will always contain a single node, the Ganeti 2.0, this list will always contain a single node, the
current secondary of the instance) current secondary of the instance)
In the case of multi-evacuate, there's one single request argument (in As for ``multi-relocate``, it needs the three following request
addition to ``type``): arguments:
instances
a list of instance names to relocate
reloc_mode
a string indicating the relocation mode; there are three possible
values for this string: *keep_group*, *change_group*, and
*any_group*, the semantics or which are explained in :ref:`the
design doc <multi-reloc-detailed-design>`
target_groups
this argument is only accepted when ``reloc_mode``, as explained
above, is *change_group*; if present, it must either be the empty
list, or contain a list of group UUIDs that should be considered for
relocating instances to
Finally, in the case of multi-evacuate, there's one single request
argument (in addition to ``type``):
evac_nodes evac_nodes
the names of the nodes to be evacuated the names of the nodes to be evacuated
...@@ -296,6 +316,10 @@ result ...@@ -296,6 +316,10 @@ result
entry in the input message, otherwise Ganeti will consider the result entry in the input message, otherwise Ganeti will consider the result
as failed as failed
for multi-relocate mode, this is a list of 2-tuples in which the first
element of the tuple will be an instance name, and the second element
a list of operations to perform in order to relocate the instance
for multi-evacuation mode, this is a list of lists; each element of for multi-evacuation mode, this is a list of lists; each element of
the list is a list of instance name and the new secondary node the list is a list of instance name and the new secondary node
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment