** Description changed:
- python-libvirt 0.9.8-2ubuntu17.13
+ [Impact]
- uvtool cannot sync images using libvirt on Precise. This is limited to
- i386. The error looks something like:
+ uvtool fails to work on Precise i386, which means that juju's upcoming
+ KVM container feature won't work when a guest is on the current LTS,
+ which is our current recommendation.
- [...]
- File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line
88, in _create_volume_from_fobj_with_size
- vol.upload(stream, 0, fobj_size, 0)
- File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload
- if ret == -1: raise libvirtError ('virStorageVolUpload() failed',
vol=self)
- libvirt.libvirtError: Unable to seek
/var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA==
to 654696742695993344: Invalid argument
+ [Test Case]
+
+ 0. Start with Precise on i386
+ 1. sudo add-apt-repository cloud-archive:tools
+ 2. sudo apt-get update
+ 3. sudo apt-get install uvtool-libvirt
+ 4. sg libvirtd
+ 5. uvt-simplestreams-sync arch=i386 release=precise
+
+ Expected results: zero exit status (some spurious errors printed)
+ Actual results: non-zero exit status, "libvirt.libvirtError" with "unable to
seek" to a ridiculously long offset.
+
+ [Upstream Fix]
+
+
http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b
+
+ [Development Fix]
+
+ Already on an upstream version that has the fix.
+
+ [Stable Fix]
+
+ Trivial backport of the upstream fix.
+
+ [Regression Potential]
+
+ The only change is in the Python bindings, so API calls involving 64-bit
+ integer parameters are affected. The fix is obviously correct; upstream
+ and Saucy both have it and so this fix has been extensively tested.
+
+ [Details]
Root cause: in the libvirt source, python/generator.py maps "unsigned
long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K".
Upstream fix:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b
Development fix: packaged from upstream
Stable fix: a trivial backport of this fix.
+ python-libvirt 0.9.8-2ubuntu17.13
+
+ uvtool cannot sync images using libvirt on Precise. This is limited to
+ i386. The error looks something like:
+
+ [...]
+ File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line
88, in _create_volume_from_fobj_with_size
+ vol.upload(stream, 0, fobj_size, 0)
+ File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload
+ if ret == -1: raise libvirtError ('virStorageVolUpload() failed',
vol=self)
+ libvirt.libvirtError: Unable to seek
/var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA==
to 654696742695993344: Invalid argument
+
Note that this ignores the signed/unsigned distinction. I think the
correct fix should be "K", but upstream are using "L", which will
- suffice for Intel architectures. To avoid diverging I think "L" is
- better for an SRU if we have to do it today. This may break ARM, which
- defaults to different signedness. I will raise this separately with
+ suffice for the actual problem. To avoid diverging I think "L" is better
+ for an SRU if we have to do it today. I have raised this separately with
upstream.
-
- Debdiff to follow.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1248394
Title:
Python virStorageVolUpload binding fails on i386
To manage notifications about this bug go to:
https://bugs.launchpad.net/uvtool/+bug/1248394/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs