[Libguestfs] [PATCH] v2v: -o rhv-upload: cancel disk transfer on open failure
Richard W.M. Jones
rjones at redhat.com
Thu Sep 19 18:40:56 UTC 2019
On Thu, Sep 19, 2019 at 12:38:39PM +0200, Pino Toscano wrote:
> Make sure to cancel the trasfer in RHV in case of failure during the
> open/creation of the disk in RHV, so it is automatically removed.
> ---
> v2v/rhv-upload-plugin.py | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
> index 57e90484f..51a7f381a 100644
> --- a/v2v/rhv-upload-plugin.py
> +++ b/v2v/rhv-upload-plugin.py
> @@ -193,12 +193,14 @@ def open(readonly):
> if transfer.phase != types.ImageTransferPhase.INITIALIZING:
> break
> if time.time() > endt:
> + transfer_service.cancel()
> raise RuntimeError("timed out waiting for transfer status "
> "!= INITIALIZING")
>
> # Now we have permission to start the transfer.
> if params['rhv_direct']:
> if transfer.transfer_url is None:
> + transfer_service.cancel()
> raise RuntimeError("direct upload to host not supported, "
> "requires ovirt-engine >= 4.2 and only works "
> "when virt-v2v is run within the oVirt/RHV "
> @@ -225,6 +227,7 @@ def open(readonly):
> destination_url.port,
> )
> else:
> + transfer_service.cancel()
> raise RuntimeError("unknown URL scheme (%s)" % destination_url.scheme)
>
> # The first request is to fetch the features of the server.
> @@ -259,6 +262,7 @@ def open(readonly):
> pass
>
> else:
> + transfer_service.cancel()
> raise RuntimeError("could not use OPTIONS request: %d: %s" %
> (r.status, r.reason))
>
I've no problem with the patch so ACK, but is there not a way to
combine all those separate calls into one place somehow? They all
seem to originate in one method (.open).
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