From ed904904a9d9b91f8d44879a074909a33661e3dc Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Thu, 18 Mar 2010 10:54:24 +0100 Subject: [PATCH] Fix backend.VerifyNode behaviour for VG problems In case LVM is broken, backend.GetVolumeList will raise an RPC exception (as expected since it's a function exposed over RPC). Therefore we must be prepared to catch any such exceptions, so that we don't fail the whole verify call in this case. cmdlib is already prepared to handle string results for this response key. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- lib/backend.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/backend.py b/lib/backend.py index 9b98a7675..ebbc43a81 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -524,7 +524,11 @@ def VerifyNode(what, cluster_name): " and ".join(fail)) if constants.NV_LVLIST in what: - result[constants.NV_LVLIST] = GetVolumeList(what[constants.NV_LVLIST]) + try: + val = GetVolumeList(what[constants.NV_LVLIST]) + except RPCFail, err: + val = str(err) + result[constants.NV_LVLIST] = val if constants.NV_INSTANCELIST in what: # GetInstanceList can fail -- GitLab