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