Add DRBD barriers disk parameters
Add the disk-barriers and meta-barriers parameters described in the
design doc.
constants.py:
* add the needed LD and DT-level parameters, use the defaults provided
at ./configure time;
* add constants representing which barriers should be disabled and the
set of valid options.
lib/bdev.py:
* factor the barriers handling code to a class method, for testing
purposes;
* implement the more granular version checking logic;
* use the LD level parameters;
* add stricter check on DRBD version (8.0, 8.2 or 8.3), as we do not
support 8.4 yet.
lib/cmdlib.py:
* translate DT level parameters to LD level ones.
configure.ac, Makefile.am:
* set both disk and meta barriers parameters depending on the value of
--enable-drbd-barriers.
test/ganeti.bdev_unittest.py:
* unit tests for the code that sets DRBD barrier parameters depending on
the version.
doc/design-resource-model.rst:
* reword the description of meta-barriers;
* change all disk parameters names to use dashes instead of underscores.
Signed-off-by: Andrea Spadaccini <spadaccio@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>