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(-)

Reply via email to