[Libguestfs] [PATCH] v2v: rhv-upload-plugin - improve wait logic after finalize (RHBZ#1680361)
Pino Toscano
ptoscano at redhat.com
Tue Sep 10 06:42:24 UTC 2019
On Monday, 9 September 2019 18:00:35 CEST Richard W.M. Jones wrote:
> From: Daniel Erez <derez at redhat.com>
>
> After invoking transfer_service.finalize, check operation status by
> examining DiskStatus. This is done instead of failing after a
> predefined timeout regardless the status.
>
> Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1680361
> Signed-off-by: Richard W.M. Jones <rjones at redhat.com>
> Tested-by: Ilanit Stein <istein at redhat.com>
> ---
> v2v/rhv-upload-plugin.py | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
> index 9e71021..8f13ce1 100644
> --- a/v2v/rhv-upload-plugin.py
> +++ b/v2v/rhv-upload-plugin.py
> @@ -549,16 +549,23 @@ def close(h):
> # waiting for the transfer object to cease to exist, which
> # falls through to the exception case and then we can
> # continue.
> - endt = time.time() + timeout
> + disk_id = disk.id
> + start = time.time()
> try:
> while True:
> time.sleep(1)
> - tmp = transfer_service.get()
> - if time.time() > endt:
> - raise RuntimeError("timed out waiting for transfer "
> - "to finalize")
> + disk_service = h['disk_service']
> + disk = disk_service.get()
> + if disk.status == types.DiskStatus.LOCKED:
> + if time.time() > start + timeout:
> + raise RuntimeError("timed out waiting for transfer "
> + "to finalize")
> + continue
> + if disk.status == types.DiskStatus.OK:
> + debug("finalized after %s seconds" % (time.time() - start))
> + break
> except sdk.NotFoundError:
> - pass
> + raise RuntimeError("transfer failed: disk %s not found" % disk_id)
Seems to be OK (although I did not test it).
--
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190910/382edda5/attachment.sig>
More information about the Libguestfs
mailing list