[Kimchi-devel] [PATCH] [Kimchi] Replace backing image by clone when using template based on existing img
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Apr 12 18:34:59 UTC 2016
I could not apply this patch. Could you rebase and resend?
Thanks,
Aline Manera
On 04/08/2016 09:52 PM, Jose Ricardo Ziviani wrote:
> - This commit replaces the current backing image to a complete clone
> when using a template based on an existing template.
>
> Signed-off-by: Jose Ricardo Ziviani <joserz at linux.vnet.ibm.com>
> ---
> model/templates.py | 17 ++++++++++++++++-
> vmtemplate.py | 8 --------
> 2 files changed, 16 insertions(+), 9 deletions(-)
>
> diff --git a/model/templates.py b/model/templates.py
> index 1e6ad30..87173d1 100644
> --- a/model/templates.py
> +++ b/model/templates.py
> @@ -361,7 +361,22 @@ class LibvirtVMTemplate(VMTemplate):
> for v in vol_list:
> pool = self._get_storage_pool(v['pool'])
> # outgoing text to libvirt, encode('utf-8')
> - pool.createXML(v['xml'].encode('utf-8'), 0)
> + if 'base' in v and 'path' in v['base']:
> + conn = self.conn.get()
> + try:
> + volume_base = conn.storageVolLookupByPath(
> + v['base']['path'])
> +
> + except libvirt.libvirtError as e:
> + pool.createXML(v['xml'].encode('utf-8'), 0)
> + continue
> +
> + pool.createXMLFrom(v['xml'].encode('utf-8'),
> + volume_base,
> + 0)
> + else:
> + pool.createXML(v['xml'].encode('utf-8'), 0)
> +
> except libvirt.libvirtError as e:
> raise OperationFailed("KCHVMSTOR0008E", {'error': e.message})
> return vol_list
> diff --git a/vmtemplate.py b/vmtemplate.py
> index a223beb..4ce5d19 100644
> --- a/vmtemplate.py
> +++ b/vmtemplate.py
> @@ -264,14 +264,6 @@ class VMTemplate(object):
> v_tree.append(E.capacity(str(info['capacity']), unit='G'))
>
> target_fmt = info['format']
> - if 'base' in d:
> - # target must be qcow2 in order to use a backing file
> - target_fmt = 'qcow2'
> -
> - v_tree.append(E.backingStore(
> - E.path(info['base']['path']),
> - E.format(type=info['base']['format'])))
> -
> target = E.target(
> E.format(type=target_fmt), E.path(info['path']))
> v_tree.append(target)
More information about the Kimchi-devel
mailing list