From 6f68a739502f35cd7f8f4cef56ae3fb4f5292e6f Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Wed, 10 Jun 2009 10:57:50 +0200 Subject: [PATCH] Convert node_verify rpc to new result style Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- lib/backend.py | 2 +- lib/cmdlib.py | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/backend.py b/lib/backend.py index f087c394b..3cc425caf 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -469,7 +469,7 @@ def VerifyNode(what, cluster_name): used_minors = str(err) result[constants.NV_DRBDLIST] = used_minors - return result + return True, result def GetVolumeList(vg_name): diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 5e9774915..8f9cf3c38 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -1022,7 +1022,6 @@ class LUVerifyCluster(LogicalUnit): for node_i in nodeinfo: node = node_i.name - nresult = all_nvinfo[node].data if node_i.offline: feedback_fn("* Skipping offline node %s" % (node,)) @@ -1040,11 +1039,13 @@ class LUVerifyCluster(LogicalUnit): ntype = "regular" feedback_fn("* Verifying node %s (%s)" % (node, ntype)) - if all_nvinfo[node].failed or not isinstance(nresult, dict): - feedback_fn(" - ERROR: connection to %s failed" % (node,)) + msg = all_nvinfo[node].RemoteFailMsg() + if msg: + feedback_fn(" - ERROR: while contacting node %s: %s" % (node, msg)) bad = True continue + nresult = all_nvinfo[node].payload node_drbd = {} for minor, instance in all_drbd_map[node].items(): if instance not in instanceinfo: @@ -2336,13 +2337,15 @@ class LUAddNode(LogicalUnit): result = self.rpc.call_node_verify(node_verify_list, node_verify_param, self.cfg.GetClusterName()) for verifier in node_verify_list: - if result[verifier].failed or not result[verifier].data: - raise errors.OpExecError("Cannot communicate with %s's node daemon" - " for remote verification" % verifier) - if result[verifier].data['nodelist']: - for failed in result[verifier].data['nodelist']: + msg = result[verifier].RemoteFailMsg() + if msg: + raise errors.OpExecError("Cannot communicate with node %s: %s" % + (verifier, msg)) + nl_payload = result[verifier].payload['nodelist'] + if nl_payload: + for failed in nl_payload: feedback_fn("ssh/hostname verification failed %s -> %s" % - (verifier, result[verifier].data['nodelist'][failed])) + (verifier, nl_payload[failed])) raise errors.OpExecError("ssh/hostname verification failed.") if self.op.readd: -- GitLab