Revision 6d267b81 doc/iallocator.rst
b/doc/iallocator.rst | ||
---|---|---|
189 | 189 |
In all cases, it includes: |
190 | 190 |
|
191 | 191 |
type |
192 |
the request type; this can be either ``allocate``, ``relocate`` or |
|
193 |
``multi-evacuate``; the ``allocate`` request is used when a new |
|
194 |
instance needs to be placed on the cluster, while the ``relocate`` |
|
195 |
request is used when an existing instance needs to be moved within |
|
196 |
the cluster; the ``multi-evacuate`` protocol requests that the |
|
197 |
script computes the optimal relocate solution for all secondary |
|
198 |
instances of the given nodes |
|
192 |
the request type; this can be either ``allocate``, ``relocate``, |
|
193 |
``multi-relocate`` or ``multi-evacuate``. The ``allocate`` request |
|
194 |
is used when a new instance needs to be placed on the cluster. The |
|
195 |
``relocate`` request is used when an existing instance needs to be |
|
196 |
moved within its node group, while the ``multi-relocate`` one is |
|
197 |
able to relocate multiple instances across multiple node groups. The |
|
198 |
``multi-evacuate`` protocol requests that the script computes the |
|
199 |
optimal relocate solution for all secondary instances of the given |
|
200 |
nodes. |
|
199 | 201 |
|
200 | 202 |
For both allocate and relocate mode, the following extra keys are needed |
201 | 203 |
in the ``request`` dictionary: |
... | ... | |
268 | 270 |
Ganeti 2.0, this list will always contain a single node, the |
269 | 271 |
current secondary of the instance) |
270 | 272 |
|
271 |
In the case of multi-evacuate, there's one single request argument (in |
|
272 |
addition to ``type``): |
|
273 |
As for ``multi-relocate``, it needs the three following request |
|
274 |
arguments: |
|
275 |
|
|
276 |
instances |
|
277 |
a list of instance names to relocate |
|
278 |
|
|
279 |
reloc_mode |
|
280 |
a string indicating the relocation mode; there are three possible |
|
281 |
values for this string: *keep_group*, *change_group*, and |
|
282 |
*any_group*, the semantics or which are explained in :ref:`the |
|
283 |
design doc <multi-reloc-detailed-design>` |
|
284 |
|
|
285 |
target_groups |
|
286 |
this argument is only accepted when ``reloc_mode``, as explained |
|
287 |
above, is *change_group*; if present, it must either be the empty |
|
288 |
list, or contain a list of group UUIDs that should be considered for |
|
289 |
relocating instances to |
|
290 |
|
|
291 |
Finally, in the case of multi-evacuate, there's one single request |
|
292 |
argument (in addition to ``type``): |
|
273 | 293 |
|
274 | 294 |
evac_nodes |
275 | 295 |
the names of the nodes to be evacuated |
... | ... | |
296 | 316 |
entry in the input message, otherwise Ganeti will consider the result |
297 | 317 |
as failed |
298 | 318 |
|
319 |
for multi-relocate mode, this is a list of 2-tuples in which the first |
|
320 |
element of the tuple will be an instance name, and the second element |
|
321 |
a list of operations to perform in order to relocate the instance |
|
322 |
|
|
299 | 323 |
for multi-evacuation mode, this is a list of lists; each element of |
300 | 324 |
the list is a list of instance name and the new secondary node |
301 | 325 |
|
Also available in: Unified diff