From 4504bfcb95a6e272feff55b58c27c24cc1fdc5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com> Date: Tue, 26 Jun 2012 14:11:52 +0200 Subject: [PATCH] Annotate disks on blockdev_remove MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This annotates the disks for the blockdev_remove where it is appropriate. It leaves out 2 cases were we can't reliably annotate disk parameters due to lack of knowledge what we should annotate. Those cases affects only lvs used for drbd, so it doesn't affect the bug reported by Constantinos. Signed-off-by: RenΓ© Nussbaumer <rn@google.com> Reviewed-by: Agata Murawska <agatamurawska@google.com> --- lib/cmdlib.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 2a56e7eb6..d86316b69 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -9005,7 +9005,8 @@ def _RemoveDisks(lu, instance, target_node=None, ignore_failures=False): all_result = True ports_to_release = set() - for (idx, device) in enumerate(instance.disks): + anno_disks = _AnnotateDiskParams(instance, instance.disks, lu.cfg) + for (idx, device) in enumerate(anno_disks): if target_node: edata = [(target_node, device)] else: @@ -12691,8 +12692,8 @@ class LUInstanceSetParams(LogicalUnit): snode = instance.secondary_nodes[0] feedback_fn("Converting template to plain") - old_disks = instance.disks - new_disks = [d.children[0] for d in old_disks] + old_disks = _AnnotateDiskParams(instance, instance.disks, self.cfg) + new_disks = [d.children[0] for d in instance.disks] # copy over size and mode for parent, child in zip(old_disks, new_disks): @@ -12782,7 +12783,8 @@ class LUInstanceSetParams(LogicalUnit): """Removes a disk. """ - for node, disk in root.ComputeNodeTree(self.instance.primary_node): + (anno_disk,) = _AnnotateDiskParams(self.instance, [root], self.cfg) + for node, disk in anno_disk.ComputeNodeTree(self.instance.primary_node): self.cfg.SetDiskID(disk, node) msg = self.rpc.call_blockdev_remove(node, disk).fail_msg if msg: -- GitLab