[live-images] Filter non-image results

Only keep results that have known extension.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2016-02-22 09:36:25 +01:00
parent 1044fb01f8
commit ab44f3539e
2 changed files with 15 additions and 6 deletions

View File

@ -243,8 +243,11 @@ class CreateLiveImageThread(WorkerThread):
raise RuntimeError("LiveImage task failed: %s. See %s for more details." % (output["task_id"], log_file))
# copy finished image to isos/
image_path = koji_wrapper.get_image_path(output["task_id"])
# TODO: assert len == 1
image_path = [path for path in koji_wrapper.get_image_path(output["task_id"])
if self._is_image(path)]
if len(image_path) != 1:
raise RuntimeError('Got %d images from task %d, expected 1.'
% (len(image_path), output['task_id']))
image_path = image_path[0]
shutil.copy2(image_path, cmd["iso_path"])
@ -266,6 +269,12 @@ class CreateLiveImageThread(WorkerThread):
self.pool.log_info("[DONE ] %s" % msg)
def _is_image(self, path):
for ext in ('.iso', '.raw.xz'):
if path.endswith(ext):
return True
return False
def _write_manifest(self, iso_path):
"""Generate manifest for ISO at given path.

View File

@ -253,7 +253,7 @@ class TestCreateLiveImageThread(unittest.TestCase):
'output': 'some output',
'task_id': 123
}
koji_wrapper.get_image_path.return_value = ['/path/to/image']
koji_wrapper.get_image_path.return_value = ['/path/to/image.iso']
t = CreateLiveImageThread(pool)
with mock.patch('time.sleep'):
@ -263,7 +263,7 @@ class TestCreateLiveImageThread(unittest.TestCase):
[mock.call('koji spin-livecd ...', log_file='/a/b/log/log_file')])
self.assertEqual(koji_wrapper.get_image_path.mock_calls, [mock.call(123)])
self.assertEqual(copy2.mock_calls,
[mock.call('/path/to/image', '/iso_dir/amd64/Client/image-name')])
[mock.call('/path/to/image.iso', '/iso_dir/amd64/Client/image-name')])
write_manifest_cmd = ' && '.join([
'cd /iso_dir/amd64/Client',
@ -314,7 +314,7 @@ class TestCreateLiveImageThread(unittest.TestCase):
'output': 'some output',
'task_id': 123
}
koji_wrapper.get_image_path.return_value = ['/path/to/image']
koji_wrapper.get_image_path.return_value = ['/path/to/image.iso']
t = CreateLiveImageThread(pool)
with mock.patch('time.sleep'):
@ -324,7 +324,7 @@ class TestCreateLiveImageThread(unittest.TestCase):
[mock.call('koji spin-livecd ...', log_file='/a/b/log/log_file')])
self.assertEqual(koji_wrapper.get_image_path.mock_calls, [mock.call(123)])
self.assertEqual(copy2.mock_calls,
[mock.call('/path/to/image', '/iso_dir/amd64/Client/image-name')])
[mock.call('/path/to/image.iso', '/iso_dir/amd64/Client/image-name')])
write_manifest_cmd = ' && '.join([
'cd /iso_dir/amd64/Client',