Revision 9626f028 doc/design-multi-reloc.rst

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:

Also available in: Unified diff