Opportunistic locking may fail due to lack of resources
on the nodes for which locks could be obtained. In this
case, internally retry, asking for all the locks.

The first few patches just make sure that we use the
OpPrereqError exception in the way it is specified
(human-readable error message, error code). Unfortunately,
we don't have a type checker to enforce this, so it wasn't
noticed earlier.


Klaus Aehlig (14):
  Add missing ecode
  Add missing ecode
  Add missing ecode
  Add missing error code
  Add missing error code
  Add missing error codes
  Explicitly log failed opportunistic locking
  Extend the callback interface by NotifyRetry
  Reset op status to wating on NotifyRetry
  Add new GenericErrror OpRetryNotSupportedError
  Extend base LU by PrepareRetry
  Make mcpu handle retry requests internally
  Allow internal retries in LUInstanceCreate
  Document changes to opportunistic locking in NEWS

 NEWS                         | 14 ++++++++++++++
 lib/cmdlib/base.py           | 12 ++++++++++++
 lib/cmdlib/cluster.py        | 24 +++++++++++++++---------
 lib/cmdlib/common.py         |  5 +++--
 lib/cmdlib/instance.py       | 14 +++++++++++++-
 lib/cmdlib/instance_utils.py |  2 +-
 lib/cmdlib/node.py           |  2 +-
 lib/errors.py                |  6 ++++++
 lib/jqueue/__init__.py       | 11 +++++++++++
 lib/mcpu.py                  | 20 ++++++++++++++++++++
 10 files changed, 96 insertions(+), 14 deletions(-)

-- 
2.1.0.rc2.206.gedb03e5

Reply via email to