[Libguestfs] [PATCH] rhv-upload: Fix waiting for transfer

Richard W.M. Jones rjones at redhat.com
Tue Dec 10 20:27:47 UTC 2019


On Tue, Dec 10, 2019 at 08:34:42PM +0200, Nir Soffer wrote:
> On Thu, Nov 28, 2019 at 10:58 PM Richard W.M. Jones <rjones at redhat.com> wrote:
> >
> > On Thu, Nov 28, 2019 at 09:34:18PM +0200, Nir Soffer wrote:
> > > We were not considering failures while initializing the transfer. In
> > > this case the transfer phase can change to PAUSED_SYSTEM or
> > > FINISHED_FAILURE, and transfer_url will be None, which failed the
> > > upload with a misleading error:
> > >
> > >     RuntimeError: direct upload to host not supported, requires
> > >     ovirt-engine >= 4.2 and only works when virt-v2v is run within the
> > >     oVirt/RHV environment, eg. on an oVirt node
> > >
> > > Change the wait loop to consider all cases:
> > > - Transfer failed and was removed
> > > - Transfer failed and will be removed soon
> > > - Transfer paused by the system (cancel required)
> > > - Unexpected transfer phase (cancel required)
> > > - Timeout waiting for TRANSFERRING state (cancel required)
> > >
> > > Reported-by: Xiaodai Wang
> > > ---
> > >
> > > I could easy simulate the case when the system paused the transfer by
> > > injecting an error in vdsm, failing transfer initialization.
> > >
> > > The import fail with:
> > >
> > > nbdkit: python[1]: error: /home/nsoffer/src/virt-v2v/tmp/rhvupload.1DgXyh/rhv-upload-plugin.py: open: error: Traceback (most recent call last):
> > >    File "/home/nsoffer/src/virt-v2v/tmp/rhvupload.1DgXyh/rhv-upload-plugin.py", line 109, in open
> > >     transfer = create_transfer(connection, disk, host)
> > >    File "/home/nsoffer/src/virt-v2v/tmp/rhvupload.1DgXyh/rhv-upload-plugin.py", line 539, in create_transfer
> > >     "transfer %s was paused by system" % transfer.id)
> > >  RuntimeError: transfer 32b97384-ac8b-40d5-b423-26d31faabe32 was paused by system
> > >
> > > I could not simulate the other cases. This probaly requires injecting
> > > errors in engine.
> >
> > You might be able to inject errors more easily than that by modifying
> > the test harness (tests/test-v2v-o-rhv-upload-module/ovirtsdk4/).
> >
> > Anyway patch looks reasonable, although I didn't test it, so:
> >
> > ACK
> 
> Seems that Daniel is too busy now to review this, so I think we should
> push this.

Yes please go ahead.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v




More information about the Libguestfs mailing list