Fix "Fix upload volume to glance"

The call to convert the image was set to always compress instead
of paying attention to the keyword argument.

Change-Id: Idc18b1c5b17d4f9b29deb87d29faba574d3432b2
Related-bug: #1824821
Related-bug: #1839069
This commit is contained in:
Brian Rosmaita 2019-08-14 12:53:22 -04:00
parent dff0f7b2c1
commit b9ab059023
2 changed files with 8 additions and 6 deletions

View File

@ -670,7 +670,7 @@ def upload_volume(context, image_service, image_meta, volume_path,
out_format = fixup_disk_format(image_meta['disk_format'])
convert_image(volume_path, tmp, out_format,
run_as_root=run_as_root,
compress=True)
compress=compress)
data = qemu_img_info(tmp, run_as_root=run_as_root)
if data.file_format != out_format:

View File

@ -723,8 +723,10 @@ class TestTemporaryDir(test.TestCase):
@ddt.ddt
class TestUploadVolume(test.TestCase):
@ddt.data((mock.sentinel.disk_format, mock.sentinel.disk_format),
('ploop', 'parallels'))
@ddt.data((mock.sentinel.disk_format, mock.sentinel.disk_format, True),
(mock.sentinel.disk_format, mock.sentinel.disk_format, False),
('ploop', 'parallels', True),
('ploop', 'parallels', False))
@mock.patch('eventlet.tpool.Proxy')
@mock.patch('cinder.image.image_utils.CONF')
@mock.patch('six.moves.builtins.open')
@ -734,7 +736,7 @@ class TestUploadVolume(test.TestCase):
@mock.patch('cinder.image.image_utils.os')
def test_diff_format(self, image_format, mock_os, mock_temp, mock_convert,
mock_info, mock_open, mock_conf, mock_proxy):
input_format, output_format = image_format
input_format, output_format, do_compress = image_format
ctxt = mock.sentinel.context
image_service = mock.Mock()
image_meta = {'id': 'test_id',
@ -747,14 +749,14 @@ class TestUploadVolume(test.TestCase):
temp_file = mock_temp.return_value.__enter__.return_value
output = image_utils.upload_volume(ctxt, image_service, image_meta,
volume_path, compress=True)
volume_path, compress=do_compress)
self.assertIsNone(output)
mock_convert.assert_called_once_with(volume_path,
temp_file,
output_format,
run_as_root=True,
compress=True)
compress=do_compress)
mock_info.assert_called_with(temp_file, run_as_root=True)
self.assertEqual(2, mock_info.call_count)
mock_open.assert_called_once_with(temp_file, 'rb')