Revision 9626f028

b/doc/design-multi-reloc.rst
56 56

  
57 57
In all modes, the groups' ``alloc_policy`` attribute will be honored.
58 58

  
59
.. _multi-reloc-result:
60

  
59 61
Result
60 62
------
61 63

  
62 64
In all storage models, an inter-group move can be modeled as a sequence
63
of **replace secondary** and **failover** operations (when shared
64
storage is used, they will all be failover operations within the
65
corresponding mobility domain). This will be represented as a list of
66
``(instance, [operations])`` pairs.
67

  
68
For replace secondary operations, a new secondary node must be
69
specified. For failover operations, a node *may* be specified when
70
necessary, e.g. when shared storage is in use and there's no designated
71
secondary for the instance.
65
of **replace secondary**, **migration** and **failover** operations
66
(when shared storage is used, they will all be failover or migration
67
operations within the corresponding mobility domain).
68

  
69
The result is expected to be a list of jobsets. Each jobset contains
70
lists of serialized opcodes. Example::
71

  
72
  [
73
    [
74
      { "OP_ID": "OP_INSTANCE_MIGRATE",
75
        "instance_name": "inst1.example.com",
76
      },
77
      { "OP_ID": "OP_INSTANCE_MIGRATE",
78
        "instance_name": "inst2.example.com",
79
      },
80
    ],
81
    [
82
      { "OP_ID": "OP_INSTANCE_REPLACE_DISKS",
83
        "instance_name": "inst2.example.com",
84
        "mode": "replace_new_secondary",
85
        "remote_node": "node4.example.com"
86
      },
87
    ],
88
    [
89
      { "OP_ID": "OP_INSTANCE_FAILOVER",
90
        "instance_name": "inst8.example.com",
91
      },
92
    ]
93
  ]
94

  
95
Accepted opcodes:
96

  
97
- ``OP_INSTANCE_FAILOVER``
98
- ``OP_INSTANCE_MIGRATE``
99
- ``OP_INSTANCE_REPLACE_DISKS``
100

  
101
Starting with the first set, Ganeti will submit all jobs of a set at the
102
same time, enabling execution in parallel. Upon completion of all jobs
103
in a set, the process is repeated for the next one. Ganeti is at liberty
104
to abort the execution of the relocation after any jobset. In such a
105
case the user is notified and can restart the relocation.
72 106

  
73 107
.. vim: set textwidth=72 :
74 108
.. Local Variables:
b/doc/iallocator.rst
280 280
    a string indicating the relocation mode; there are three possible
281 281
    values for this string: *keep_group*, *change_group*, and
282 282
    *any_group*, the semantics or which are explained in :ref:`the
283
    design doc <multi-reloc-detailed-design>`
283
    design document <multi-reloc-detailed-design>`
284 284

  
285 285
  target_groups
286 286
    this argument is only accepted when ``reloc_mode``, as explained
......
316 316
  entry in the input message, otherwise Ganeti will consider the result
317 317
  as failed
318 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
319
  for multi-relocate mode, this is a list of lists of serialized
320
  opcodes. See the :ref:`design document <multi-reloc-result>` for a
321
  detailed dscription.
322 322

  
323 323
  for multi-evacuation mode, this is a list of lists; each element of
324 324
  the list is a list of instance name and the new secondary node

Also available in: Unified diff