From 91faa0fafec4a76b6668eb015c88233a47b00a04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Thu, 11 Feb 2016 07:50:02 +0100 Subject: [PATCH] [image-build] Koji expects arches as a comma separated string MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lubomír Sedlář --- pungi/phases/livemedia_phase.py | 8 +++++++- tests/test_livemediaphase.py | 13 ++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pungi/phases/livemedia_phase.py b/pungi/phases/livemedia_phase.py index fe8720f2..1125a1e9 100644 --- a/pungi/phases/livemedia_phase.py +++ b/pungi/phases/livemedia_phase.py @@ -122,6 +122,12 @@ class LiveMediaThread(WorkerThread): % (output['task_id'], log_file)) return output + def _get_cmd(self, koji_wrapper, config): + """Replace `arches` (as list) with `arch` as a comma-separated string.""" + copy = dict(config) + copy['arch'] = ','.join(copy.pop('arches', [])) + return koji_wrapper.get_live_media_cmd(copy) + def worker(self, compose, variant, config): msg = 'Live media: %s (arches: %s, variant: %s)' % (config['name'], ' '.join(config['arches']), @@ -129,7 +135,7 @@ class LiveMediaThread(WorkerThread): self.pool.log_info('[BEGIN] %s' % msg) koji_wrapper = KojiWrapper(compose.conf['koji_profile']) - cmd = koji_wrapper.get_live_media_cmd(config) + cmd = self._get_cmd(koji_wrapper, config) log_file = self._get_log_file(compose, variant, config) output = self._run_command(koji_wrapper, cmd, compose, log_file) diff --git a/tests/test_livemediaphase.py b/tests/test_livemediaphase.py index 4b2d2b34..b72ee5ee 100755 --- a/tests/test_livemediaphase.py +++ b/tests/test_livemediaphase.py @@ -222,7 +222,18 @@ class TestCreateImageBuildThread(unittest.TestCase): self.assertEqual(run_blocking_cmd.mock_calls, [mock.call('koji-spin-livemedia', log_file='/a/b/log/log_file')]) self.assertEqual(get_live_media_cmd.mock_calls, - [mock.call(config)]) + [mock.call({'arch': 'amd64,x86_64', + 'kickstart': 'file.ks', + 'ksurl': 'git://example.com/repo.git', + 'ksversion': None, + 'name': 'Fedora Server Live', + 'release': None, + 'repo': ['/repo/$arch/Server'], + 'scratch': False, + 'skip_tag': None, + 'target': 'f24', + 'title': None, + 'version': 'Rawhide'})]) self.assertEqual(get_image_paths.mock_calls, [mock.call(1234)]) self.assertItemsEqual(makedirs.mock_calls,