diff --git a/lib/cmdlib.py b/lib/cmdlib.py index a96087ec89c13b77038999629e804bdec63e6ca4..50544fb308e46e394b7857a318d5f4d0c43c44c7 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -6841,13 +6841,11 @@ class LUTestDelay(NoHooksLU): raise errors.OpExecError("Error during master delay test") if self.op.on_nodes: result = self.rpc.call_test_delay(self.op.on_nodes, self.op.duration) - if not result: - raise errors.OpExecError("Complete failure from rpc call") for node, node_result in result.items(): - node_result.Raise() - if not node_result.data: - raise errors.OpExecError("Failure during rpc call to node %s," - " result: %s" % (node, node_result.data)) + msg = node_result.RemoteFailMsg() + if msg: + raise errors.OpExecError("Failure during rpc call to node %s: %s" + % (node, msg)) class IAllocator(object): diff --git a/lib/utils.py b/lib/utils.py index 49f4c99d63d369578aaa5561a74918a7286392b1..89436d8bbb76940f6ece1fd0392d48c091d9a144 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -1387,9 +1387,9 @@ def TestDelay(duration): """ if duration < 0: - return False + return False, "Invalid sleep duration" time.sleep(duration) - return True + return True, None def _CloseFDNoErr(fd, retries=5):