From: Michele Tartara Date: Mon, 4 Nov 2013 15:20:07 +0000 (+0000) Subject: Improve error message for replace-disks X-Git-Tag: v2.8.2~3 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/34ea8da365c0900a17e97b2a05c88c8919c1be94?hp=7e360262fcd87aaeb4cf59e3c3515653c77cea18 Improve error message for replace-disks In some conditions, replace-disks will fail if the disks are not properly activated. Improve the error message suggesting to run activate-disks before executing replace-disks. Fixes Issue 606. Signed-off-by: Michele Tartara Reviewed-by: Klaus Aehlig --- diff --git a/lib/cmdlib/instance_storage.py b/lib/cmdlib/instance_storage.py index 6478e51..b1fea8b 100644 --- a/lib/cmdlib/instance_storage.py +++ b/lib/cmdlib/instance_storage.py @@ -2111,8 +2111,14 @@ class TLReplaceDisks(Tasklet): if msg or not result.payload: if not msg: msg = "disk not found" - raise errors.OpExecError("Can't find disk/%d on node %s: %s" % - (idx, node, msg)) + if not self._CheckDisksActivated(self.instance): + extra_hint = ("\nDisks seem to be not properly activated. Try" + " running activate-disks on the instance before" + " using replace-disks.") + else: + extra_hint = "" + raise errors.OpExecError("Can't find disk/%d on node %s: %s%s" % + (idx, node, msg, extra_hint)) def _CheckDisksConsistency(self, node_name, on_primary, ldisk): for idx, dev in enumerate(self.instance.disks):