** 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

Reply via email to