On Thu, Jul 09, 2020 at 01:51:44AM +0300, Nir Soffer wrote: > We can use now ImageioClient to communicate with ovirt-imageio server > on oVirt host. > > Using the client greatly simplifies the plugin, and enables new features > like transparent proxy support. The client will use transfer_url if > possible, or fall back to proxy_url. > > Since the client implements the buffer protocol, move to version 2 of > the API for more efficient pread().
This will require nbdkit >= 1.17.3 which implies RHEL AV 8.3.0, but that's fine since we only ship the new virt-v2v (>= 1.42) on AV 8.3.0. > Another advantage the client is maintained by oVirt, and fixes are > delivered quickly in oVirt, without depending on RHEL release schedule. > > Not ready yet, we have several issues: > > - The client does not support "http", so the tests will fail now. This > is good since we should test with real imageio server. I will work on > better tests later. I think having standalone tests is still worthwhile as it's the only way that the plugin gets tested on a regular basis. IIRC at the moment we only test against a faked ovirt SDK. I guess this would be easy to adjust? To unit test against a real imageio server is difficult I think: These tests would need to run in Fedora with minimal large dependencies. We might create a fake web server like the one we use in nbdkit: https://github.com/libguestfs/nbdkit/blob/master/tests/web-server.h https://github.com/libguestfs/nbdkit/blob/master/tests/web-server.c This only supports http but we could put stunnel in front to provide https. > - Need to require ovirt-imageio-client, providing the client library. That's a simple change in virt-v2v packaging. I don't see this package in Fedora Koji. In RHEL I can see the package and the dependencies look quite light, basically just Python and python3-six. Why is it only available for x86_64 and ppc64le? > - params['rhv_direct'] is ignored, we always try direct transfer now. We should drop it from the OCaml code? [...] > -# Modify http.client.HTTPConnection to work over a Unix domain socket. > -# Derived from uhttplib written by Erik van Zijst under an MIT license. > -# (https://pypi.org/project/uhttplib/) > -# Ported to Python 3 by Irit Goihman. > - > - > -class UnixHTTPConnection(HTTPConnection): Why drop this part? Rest of the patch looks good and as you say above both simplifies and improves performance. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
