[Libguestfs] [PATCH 0/5] Fix rhv-upload output

Nir Soffer nsoffer at redhat.com
Sat Dec 18 20:36:28 UTC 2021


Fix problems in new rhv-upload implementation:

- The plugin does not flush to all connections in flush()
- The plugin does not close all connections in cleanup()
- Idle connections are closed in imageio server, and we don't have a safe way
  to recover.
- virt-v2v try to get disk allocation using imageio output, but imageio output
  does not support extents. Even if imageio output will support extents, the
  call is done after the transfer was finalized so it does not have access to
  storage.

Problems not fixed yet:

- Image transfer is finalized *before* closing the connection to imageio - this
  will always time out with RHV < 4.4.9, and succeeds by mistake with RHV 4.4.9
  due to a regression that will be fixed in 4.4.10. This will be a non-issue in
  next RHV version[1]. To support older RHV versions, virt-v2v must finalize
  the image transfer *after* closing the output.

Tested on RHEL 8.6 with upstream nbdkit and libnbd.

[1] https://github.com/oVirt/ovirt-imageio/pull/15

Fixes https://bugzilla.redhat.com/2032324

Nir Soffer (5):
  output/rhv-upload-plugin: Fix flush and close
  v2v/lib/util.ml: Get disk allocation from input
  output/rhv-upload-plugin: Extract send_flush() helper
  output/rhv-upload-plugin: Track http last request time
  output/rhv-upload-plugin: Keep connections alive

 lib/utils.ml                |   2 +-
 output/rhv-upload-plugin.py | 151 ++++++++++++++++++++++++++----------
 2 files changed, 113 insertions(+), 40 deletions(-)

-- 
2.33.1





More information about the Libguestfs mailing list