diff --git a/doc/design-multi-reloc.rst b/doc/design-multi-reloc.rst index 4f8efe0916147b20a2871d13ede1fb2efb382987..59efc0285eb90c6427a42015729ecd823f324ac2 100644 --- a/doc/design-multi-reloc.rst +++ b/doc/design-multi-reloc.rst @@ -72,8 +72,26 @@ instances and a list of jobsets. The two lists of instances describe which instances could be moved/migrated and which couldn't for some reason ("unsuccessful"). The -union of the two lists must be equal to the set of instances given in -the original request. +union of the instances in the two lists must be equal to the set of +instances given in the original request. The successful list of +instances contains elements as follows:: + + (instance name, target group name, [chosen node names]) + +The choice of names is simply for readability reasons (for example, +Ganeti could log the computed solution in the job information) and for +being able to check (manually) for consistency that the generated +opcodes match the intended target groups/nodes. Note that for the +node-evacuate operation, the group is not changed, but it should still +be returned as such (as it's easier to have the same return type for +both operations). + +The unsuccessful list of instances contains elements as follows:: + + (instance name, explanation) + +where ``explanation`` is a string describing why the plugin was not able +to relocate the instance. The list of jobsets contained in the result describe how to actually execute the operation. Each jobset contains lists of serialized opcodes.