It can be considered a bug that opportunistic locking does not take the minimal number of locks required for the action to succeed at least in theory. This justifies the changes going in a branch close to beta1 (or even a bug-fix only branch). stable-2.12 is the earliest branch where the infrastructure is in place to allow for the fix of requiring a minimal amount of locks. So it seems fair to cherry-pick the changes there.
Sorry for not having chosen the right branch in the first place. Klaus Aehlig (7): Add a guarded version of opportunistic locking Export guardedOpportunisticLockUnion through WConfD Allow LUs to specify a number of opportunistic locks Make instance creation ask for 2 nodes, if DRBD is used Honor requests for minimal lock count Clarify setup for parallel job execution performance test Test parallel instance creation with --opportunistic-locking doc/design-performance-tests.rst | 8 ++++++-- lib/cmdlib/base.py | 1 + lib/cmdlib/instance.py | 3 +++ lib/mcpu.py | 28 ++++++++++++++++++++-------- qa/qa_performance.py | 2 +- src/Ganeti/Locking/Waiting.hs | 15 +++++++++++++++ src/Ganeti/WConfd/Core.hs | 10 ++++++++++ 7 files changed, 56 insertions(+), 11 deletions(-) -- 2.0.0.526.g5318336
