From 7c2e922e178e28b60e9871d1cf0d37bf9203f9de Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Fri, 17 Dec 2010 15:20:57 +0100 Subject: [PATCH] ShutdownInstanceDisks: accept offline secondaries For secondary node that is offline, we should not consider that the disk shutdown has failed, as it can never succeed under this cluster state and (by virtue of the fact that the secondary node is offline) the disks are already "shutdown". The patch also fixes a tiny typo. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Michael Hanselmann <hansmi@google.com> --- lib/cmdlib.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index f0f5d1947..b8b53d7c6 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -4974,7 +4974,8 @@ def _ShutdownInstanceDisks(lu, instance, disks=None, ignore_primary=False): if msg: lu.LogWarning("Could not shutdown block device %s on node %s: %s", disk.iv_name, node, msg) - if not ignore_primary or node != instance.primary_node: + if ((node == instance.primary_node and not ignore_primary) or + (node != instance.primary_node and not result.offline)): all_result = False return all_result @@ -9674,7 +9675,7 @@ class LUSetInstanceParams(LogicalUnit): if self.op.disk_template: r_shut = _ShutdownInstanceDisks(self, instance) if not r_shut: - raise errors.OpExecError("Cannot shutdow instance disks, unable to" + raise errors.OpExecError("Cannot shutdown instance disks, unable to" " proceed with disk template conversion") mode = (instance.disk_template, self.op.disk_template) try: -- GitLab