Merge "Update NFC lease progress"

This commit is contained in:
Zuul 2019-05-14 22:43:37 +00:00 committed by Gerrit Code Review
commit 66d0efc53b
2 changed files with 17 additions and 3 deletions

View File

@ -286,7 +286,13 @@ def copy_stream_optimized_disk(
kwargs.get('vm'),
kwargs.get('vmdk_file_path'),
file_size)
_start_transfer(read_handle, write_handle, timeout_secs)
updater = loopingcall.FixedIntervalLoopingCall(read_handle.update_progress)
try:
updater.start(interval=NFC_LEASE_UPDATE_PERIOD)
_start_transfer(read_handle, write_handle, timeout_secs)
finally:
updater.stop()
LOG.debug("Downloaded virtual disk: %s.", vmdk_file_path)

View File

@ -315,12 +315,16 @@ class ImageTransferUtilityTest(base.TestCase):
@mock.patch.object(image_transfer, '_start_transfer')
@mock.patch('oslo_vmware.rw_handles.VmdkReadHandle')
@mock.patch('oslo_vmware.common.loopingcall.FixedIntervalLoopingCall')
def test_copy_stream_optimized_disk(
self, vmdk_read_handle, start_transfer):
self, loopingcall, vmdk_read_handle, start_transfer):
read_handle = mock.sentinel.read_handle
read_handle = mock.Mock()
vmdk_read_handle.return_value = read_handle
updater = mock.Mock()
loopingcall.return_value = updater
context = mock.sentinel.context
timeout = mock.sentinel.timeout
write_handle = mock.Mock(name='/cinder/images/tmpAbcd.vmdk')
@ -338,8 +342,12 @@ class ImageTransferUtilityTest(base.TestCase):
vmdk_read_handle.assert_called_once_with(
session, host, port, vm, vmdk_file_path, vmdk_size)
loopingcall.assert_called_once_with(read_handle.update_progress)
updater.start.assert_called_once_with(
interval=image_transfer.NFC_LEASE_UPDATE_PERIOD)
start_transfer.assert_called_once_with(read_handle, write_handle,
timeout)
updater.stop.assert_called_once_with()
@mock.patch('oslo_vmware.rw_handles.VmdkReadHandle')
@mock.patch.object(image_transfer, '_start_transfer')