[virt-tools-list] [virt-manager PATCH] virt-manager, delete: fix path for disk type='volume'
Cole Robinson
crobinso at redhat.com
Thu Oct 9 17:09:20 UTC 2014
On 10/09/2014 05:17 AM, Giuseppe Scrivano wrote:
> Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1146869
>
> Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
> ---
> virtManager/delete.py | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/virtManager/delete.py b/virtManager/delete.py
> index 248392f..b865d18 100644
> --- a/virtManager/delete.py
> +++ b/virtManager/delete.py
> @@ -232,8 +232,17 @@ def populate_storage_list(storage_list, vm, conn):
> model = storage_list.get_model()
> model.clear()
>
> - diskdata = [(disk.target, disk.path, disk.read_only, disk.shareable) for
> - disk in vm.get_disk_devices()]
> + def get_path(disk):
> + if disk.sourcePool:
> + pool = conn.get_pool(disk.sourcePool)
> + if pool:
> + vol = pool.get_volume(disk.path)
get_pool and get_volume should never return None, only throw a KeyError when
the pool doesn't exist. So drop the if: checks, and wrap the whole thing in
try: except: KeyError, and if that fails just return path = None I think
- Cole
> + if vol:
> + return vol.get_target_path()
> + return disk.path
> +
> + diskdata = [(d.target, get_path(d), d.read_only, d.shareable) for
> + d in vm.get_disk_devices()]
>
> diskdata.append(("kernel", vm.get_xmlobj().os.kernel, True, False))
> diskdata.append(("initrd", vm.get_xmlobj().os.initrd, True, False))
>
More information about the virt-tools-list
mailing list