LGTM (wrt the comments for the previous patch)

On Tue, Jun 24, 2014 at 4:19 PM, Dimitris Bliablias <[email protected]>
wrote:

> This patch replaces the 'blockdev_remove' RPC call with the
> 'RemoveDisks' method, from the currently supported conversions between
> the LVM-based templates, i.e, plain, drbd.
>
> The 'RemoveDisks' method will also be used from the upcoming disk
> template conversion mechanism to remove the original block devices of
> the instance and also for rolling back any modification made in case the
> conversion operation fails. We use a central method for removing the
> instance's disks instead of repeatedly calling the 'blockdev_remove'
> every time we want to remove a set of disks, to save repeated lines of
> code.
>
> Signed-off-by: Dimitris Bliablias <[email protected]>
> ---
>  lib/cmdlib/instance.py |   19 ++++++-------------
>  1 file changed, 6 insertions(+), 13 deletions(-)
>
> diff --git a/lib/cmdlib/instance.py b/lib/cmdlib/instance.py
> index 3218801..7522ccf 100644
> --- a/lib/cmdlib/instance.py
> +++ b/lib/cmdlib/instance.py
> @@ -3696,7 +3696,6 @@ class LUInstanceSetParams(LogicalUnit):
>      assert len(secondary_nodes) == 1
>      assert self.instance.disk_template == constants.DT_DRBD8
>
> -    pnode_uuid = self.instance.primary_node
>      snode_uuid = secondary_nodes[0]
>      feedback_fn("Converting template to plain")
>
> @@ -3736,21 +3735,15 @@ class LUInstanceSetParams(LogicalUnit):
>      ReleaseLocks(self, locking.LEVEL_NODE)
>
>      feedback_fn("Removing volumes on the secondary node...")
> -    for disk in old_disks:
> -      result = self.rpc.call_blockdev_remove(snode_uuid, (disk,
> self.instance))
> -      result.Warn("Could not remove block device %s on node %s,"
> -                  " continuing anyway" %
> -                  (disk.iv_name, self.cfg.GetNodeName(snode_uuid)),
> -                  self.LogWarning)
> +    RemoveDisks(self, self.instance, disk_template=constants.DT_DRBD8,
> +                disks=old_disks, target_node_uuid=snode_uuid)
>
>      feedback_fn("Removing unneeded volumes on the primary node...")
> +    meta_disks = []
>      for idx, disk in enumerate(old_disks):
> -      meta = disk.children[1]
> -      result = self.rpc.call_blockdev_remove(pnode_uuid, (meta,
> self.instance))
> -      result.Warn("Could not remove metadata for disk %d on node %s,"
> -                  " continuing anyway" %
> -                  (idx, self.cfg.GetNodeName(pnode_uuid)),
> -                  self.LogWarning)
> +      meta_disks.append(disk.children[1])
> +    RemoveDisks(self, self.instance, disk_template=constants.DT_DRBD8,
> +                disks=meta_disks)
>
>    def _HotplugDevice(self, action, dev_type, device, extra, seq):
>      self.LogInfo("Trying to hotplug device...")
> --
> 1.7.10.4
>
>

Reply via email to