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