This patch series describes and implements N+1 redundancy for plain instances (issue 941). They are handled in the same way as shared-storage instances: there should be enough capaccity for the instances to be recreated on other nodes should one node fail.
The beginning of the patch series adds an option to obtain the old behavior of checking only for DRBD redundancy. This is useful in itself and also allows to render the shell-tests independent of this behavior change by giving this option. (They were designed to test the old behavior and they should continue to do so.) Klaus Aehlig (9): Add a design for redundancy with plain instances Make old hail tests use --no-capacity-checks Add option --no-capacity-checks to hspace Describe --no-capacity-checks in hspace's man page Make old hspace tests use --no-capacity-checks Move allocation primitives to a separate module In global N+1 redundancy, also consider plain instances Add a test for global N+1 redundancy with plain instances Describe extended N+1 redundancy for htools in NEWS Makefile.am | 3 + NEWS | 2 + doc/design-draft.rst | 1 + doc/design-plain-redundancy.rst | 61 ++++++++++++++++++ man/hspace.rst | 7 +- src/Ganeti/HTools/Cluster.hs | 47 ++------------ src/Ganeti/HTools/Cluster/AllocatePrimitives.hs | 85 +++++++++++++++++++++++++ src/Ganeti/HTools/GlobalN1.hs | 36 +++++++++-- src/Ganeti/HTools/Program/Hspace.hs | 1 + test/data/htools/plain-n1-restriction.data | 18 ++++++ test/hs/shelltests/htools-hail.test | 14 +++- test/hs/shelltests/htools-hspace.test | 16 ++--- 12 files changed, 231 insertions(+), 60 deletions(-) create mode 100644 doc/design-plain-redundancy.rst create mode 100644 src/Ganeti/HTools/Cluster/AllocatePrimitives.hs create mode 100644 test/data/htools/plain-n1-restriction.data -- 2.4.3.573.g4eafbef
