On Thu, Jun 21, 2018 at 3:35 PM Richard W.M. Jones <rjones@redhat.com> wrote:
These two patches add support for using a Unix domain socket to
directly access imageio in the case where imageio is running on the
conversion host (usually that means virt-v2v is running on the RHV
node and something else -- eg. CFME scripts -- arranges that the RHV
node is the same one running imageio).

Actually CFME does not know anything about this optimization. It is virt-v2v
starting the transfer on the same host it is running on.
 

Conversions in the normal case are not affected - they happen over TCP
as usual. 

This was extremely hard to test,

Why? is this something that we can improve in ovirt?
 
but I did eventually manage to test
it both ways. 

Do you mean both using https and unix socket?
 
The log from the Unix domain socket case is here:

  https://paste.fedoraproject.org/paste/RDhnpSaoUGI-jccIKy2e-g 


You can tell that the optimization was used because you will see this
in the debug output:

  disk.id = 'c5bb72bf-b9ab-4797-9ecf-fcbf79679742'
  host.id = '87daa64d-b27e-4336-a156-973544be708b'
  transfer.id = '2207ddda-00fd-4caf-b02c-e025e8173da9'
  imageio features: flush=True trim=False zero=True unix_socket='\x00/org/ovirt/imageio'
  optimizing connection using unix socket '\x00/org/ovirt/imageio'

(Note are the references to the unix socket.)

This requires the absolute latest versions of imageio (1.4.0) and
ovirt-engine (4.2.4-5) in order to get the optimization.  However it
should work (without optimization) with older versions.

Thanks Nir Soffer and Daniel Erez in particular for help with this.

Rich.