WConfD supports handing out locks as soon as they get available. This patch series make the mcpu use this capability. It still polls to find out if the locks have been assigned (we will use the notification mechanism once the individual jobs are single threaded), but the fact that the wconfd is aware of the pending requests ensures that locks are handed out in correct order, including honoring job priorities. Fixes issue 747.
Klaus Aehlig (8): Add a predicate for having a pending request Expose the LockWaiting read-only as well Expose hasPendingRequest in WConfD Expose updateLocksWaiting through WConfD Add UpdateLocksWaiting and HasPendingRequest to MockClient Make mcpu use wconfd's asynchronous requests Relax times Provide correct priority lib/mcpu.py | 29 +++++++++++++++++------------ src/Ganeti/Constants.hs | 4 ++-- src/Ganeti/Locking/Waiting.hs | 5 +++++ src/Ganeti/WConfd/Core.hs | 16 ++++++++++++++++ src/Ganeti/WConfd/Monad.hs | 12 +++++++++--- test/py/cmdlib/testsupport/wconfd_mock.py | 8 ++++++++ 6 files changed, 57 insertions(+), 17 deletions(-) -- 1.9.1.423.g4596e3a
