Currently the reservations are in ConfigWriter, which means individual jobs don't see each others reservations and conflicts occur when multiple jobs are running.
Petr Pudlak (10): A function for listing the DRBD minors of an instance A utility function for finding the first unused element Test the 'findFirst' function New module for temporary reservation of config. resources Utility function for modifying an IORef using a lens Add the state of temporary DRBD reservations to WConfd Export RPC functions for temp. DRBD reservations in WConfd Replace DRBD reservations in config.py with WConfd calls Fix the mocked ConfigWriter to pass DRBD minors methods Remove the unit test for verifying node's DRBD reservations Makefile.am | 3 +- lib/config.py | 114 ++++----------------- src/Ganeti/Config.hs | 15 +++ src/Ganeti/Utils.hs | 12 +++ src/Ganeti/WConfd/Core.hs | 32 ++++++ src/Ganeti/WConfd/Monad.hs | 64 ++++++++++-- src/Ganeti/WConfd/TempRes.hs | 163 ++++++++++++++++++++++++++++++ test/hs/Test/Ganeti/TestCommon.hs | 17 ++++ test/hs/Test/Ganeti/Utils.hs | 18 ++++ test/py/cmdlib/cluster_unittest.py | 59 ----------- test/py/cmdlib/testsupport/config_mock.py | 9 ++ 11 files changed, 345 insertions(+), 161 deletions(-) create mode 100644 src/Ganeti/WConfd/TempRes.hs -- 1.9.1.423.g4596e3a
