[Pkg-libvirt-maintainers] Bug#748120: Improper device checking with virt-clone on LVM
Kwadronaut-debian
kwadronaut-debian at riseup.net
Wed May 14 13:52:47 UTC 2014
Package: virtinst
Version: 0.600.1-3+deb7u1
Severity: normal
Tags: patch
Cloning into existing storage volumes is supposedly not supported.
#706196 marks this as a regression and #745873 as a wishlist item. In
old-stable it worked, so I feel that calling it a regression is correct.
When looking at what spit out this error, it seemed to me that the check
is too simplistic and I can actually clone into existing storage
volumes, if referenced differently:
virsh pool-dumpxml vg01
<pool type='logical'>
<name>vg01</name>
<uuid>2ae3ae6c-7aa0-f7db-f771-183406d653ee</uuid>
<capacity unit='bytes'>560598089728</capacity>
<allocation unit='bytes'>157655498752</allocation>
<available unit='bytes'>402942590976</available>
<source>
<device path='/dev/block/104:3'/>
<name>vg01</name>
<format type='lvm2'/>
</source>
<target>
<path>/dev/vg01</path>
<permissions>
<mode>0700</mode>
<owner>4294967295</owner>
<group>4294967295</group>
</permissions>
</target>
</pool>
root at cheetah:/tmp/tmp.oCzq69YIdx# virt-clone -o leap-baseimage -f
/dev/vg01/review-root -n test
ERROR Clone onto existing storage volume is not supported:
'/dev/vg01/review-root'
root at cheetah:/tmp/tmp.oCzq69YIdx# virt-clone -o leap-baseimage -f
/dev/mapper/vg01-review--root -n test
Cloning vg01-leap--baseimage
| 10 GB 00:05
Clone 'test' created successfully.
I liked that success, but in both cases it was actually writing to the
same place:
root at cheetah:/usr/share/pyshared/virtinst# readlink
/dev/mapper/vg01-review--root
../dm-0
root at cheetah:/usr/share/pyshared/virtinst# readlink /dev/vg01/review-root
../dm-0
Why this happens? The answer is in CloneManager.py:
474 if clone_disk.vol_object:
475 # XXX We could do this with vol upload I think
476 raise RuntimeError(
477 _("Clone onto existing storage volume is not "
478 "supported: '%s'") % clone_disk.path)
For both me and #706196 this is sort of fixed upstream when it are local
storage pools:
https://git.fedorahosted.org/cgit/virt-manager.git/tree/virtinst/CloneManager.py?id=v0.10.0
Virt-inst is now merged in virt-manager. With attached patch (which
comes from upstream) I'm happy. I don't know if this patch should get
into backports or the other 2 bugs can be closed because of this and/or
upstream changes, an explanation of bug-flow would be welcome.
-- System Information:
Debian Release: 7.5
APT prefers stable
APT policy: (990, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages virtinst depends on:
ii python 2.7.3-4+deb7u1
ii python-libvirt 0.9.12.3-1
ii python-libxml2 2.8.0+dfsg1-7+nmu3
ii python-support 1.0.15
ii python-urlgrabber 3.9.1-4
Versions of packages virtinst recommends:
ii qemu 1.1.2+dfsg-6a+deb7u2
ii virt-viewer 0.5.3-1
virtinst suggests no packages.
-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CloneManager.diff
Type: text/x-patch
Size: 991 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-libvirt-maintainers/attachments/20140514/67d4ccd3/attachment.bin>
More information about the Pkg-libvirt-maintainers
mailing list