This patch series reworks gnt-node evacuate to do (if early release is enabled) a parallel evacuation of nodes.
We do this via a new IAllocator request type, and via a new opcode/lu. gnt-node evacuate runs this new opcode, gets the list of (instance, node) new preferred locations, and then submits N jobs, one for each instance. I kept the 'destination node' functionality, but it complicates the code quite a bit. If we were to remove that, we could simplify the LU (the gnt-node code is not affected by that). Note that there's a set of patches on the htools project that implements the new iallocator request type; I'll release a new version of that project before 2.1.1 will be released so that people can upgrade separately. Iustin Pop (9): Remove redundant code in IAllocator class Change internal API for the IAllocator class Accept both 'nodes' and 'result from iallocator Implement IAllocator multi-evacuate mode Implement support for mevac in OpTestAllocator Add a new opcode for node evacuation Add LUNodeEvacuationStrategy Switch gnt-node evacuate to the new opcode Update the IAllocator documentation doc/iallocator.rst | 83 ++++++++++++++++++++++++------ lib/cmdlib.py | 143 +++++++++++++++++++++++++++++++++++++++++----------- lib/constants.py | 1 + lib/mcpu.py | 1 + lib/opcodes.py | 8 +++ man/gnt-node.sgml | 4 +- scripts/gnt-debug | 5 +- scripts/gnt-node | 67 ++++++++++++------------ 8 files changed, 230 insertions(+), 82 deletions(-)