[ostree-installer] Put lorax output into work dir
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
36e7279a5e
commit
81d84a030b
@ -51,13 +51,15 @@ class OstreeInstallerThread(WorkerThread):
|
||||
source_variant = compose.variants[config['source_repo_from']]
|
||||
source_repo = translate_path(
|
||||
compose, compose.paths.compose.repository(arch, source_variant, create_dir=False))
|
||||
output_dir = os.path.join(compose.paths.work.topdir(arch), variant.uid, 'ostree_installer')
|
||||
util.makedirs(os.path.dirname(output_dir))
|
||||
|
||||
self._run_ostree_cmd(compose, variant, arch, config, source_repo)
|
||||
self._run_ostree_cmd(compose, variant, arch, config, source_repo, output_dir)
|
||||
|
||||
disc_type = compose.conf.get('disc_types', {}).get('dvd', 'dvd')
|
||||
filename = compose.get_image_name(arch, variant, disc_type=disc_type,
|
||||
format=config.get('filename'))
|
||||
self._copy_image(compose, variant, arch, filename)
|
||||
self._copy_image(compose, variant, arch, filename, output_dir)
|
||||
self._add_to_manifest(compose, variant, arch, filename)
|
||||
self.pool.log_info('[DONE ] %s' % msg)
|
||||
|
||||
@ -66,10 +68,9 @@ class OstreeInstallerThread(WorkerThread):
|
||||
return compose.image_release
|
||||
return config.get('release', None)
|
||||
|
||||
def _copy_image(self, compose, variant, arch, filename):
|
||||
def _copy_image(self, compose, variant, arch, filename, output_dir):
|
||||
iso_path = compose.paths.compose.iso_path(arch, variant, filename)
|
||||
source_dir = compose.paths.compose.os_tree(arch, variant)
|
||||
boot_iso = os.path.join(source_dir, 'images', 'boot.iso')
|
||||
boot_iso = os.path.join(output_dir, 'images', 'boot.iso')
|
||||
|
||||
try:
|
||||
os.link(boot_iso, iso_path)
|
||||
@ -100,15 +101,14 @@ class OstreeInstallerThread(WorkerThread):
|
||||
pass
|
||||
compose.im.add(variant.uid, arch, img)
|
||||
|
||||
def _run_ostree_cmd(self, compose, variant, arch, config, source_repo):
|
||||
image_dir = compose.paths.compose.os_tree(arch, variant, create_dir=False)
|
||||
def _run_ostree_cmd(self, compose, variant, arch, config, source_repo, output_dir):
|
||||
lorax_wrapper = lorax.LoraxWrapper()
|
||||
cmd = lorax_wrapper.get_lorax_cmd(
|
||||
compose.conf['release_name'],
|
||||
compose.conf["release_version"],
|
||||
self._get_release(compose, config),
|
||||
repo_baseurl=source_repo,
|
||||
output_dir=image_dir,
|
||||
output_dir=output_dir,
|
||||
variant=variant.uid,
|
||||
nomacboot=True,
|
||||
buildinstallpackages=config.get('installpkgs'),
|
||||
|
@ -143,7 +143,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'--source=file://{}/compose/Everything/x86_64/os'.format(self.topdir),
|
||||
'--variant=Everything',
|
||||
'--nomacboot',
|
||||
self.topdir + '/compose/Everything/x86_64/os'],
|
||||
self.topdir + '/work/x86_64/Everything/ostree_installer'],
|
||||
channel=None, mounts=[self.topdir],
|
||||
packages=['pungi', 'lorax'],
|
||||
task_id=True, use_shell=True)])
|
||||
@ -151,7 +151,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
[mock.call(koji.get_runroot_cmd.return_value,
|
||||
log_file=self.topdir + '/logs/x86_64/ostree/runroot.log')])
|
||||
self.assertEqual(link.call_args_list,
|
||||
[mock.call(self.topdir + '/compose/Everything/x86_64/os/images/boot.iso',
|
||||
[mock.call(self.topdir + '/work/x86_64/Everything/ostree_installer/images/boot.iso',
|
||||
final_iso_path)])
|
||||
self.assertEqual(get_file_size.call_args_list, [mock.call(final_iso_path)])
|
||||
self.assertEqual(get_mtime.call_args_list, [mock.call(final_iso_path)])
|
||||
@ -159,6 +159,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
self.assertEqual(compose.get_image_name.call_args_list,
|
||||
[mock.call('x86_64', compose.variants['Everything'],
|
||||
disc_type='dvd', format='Fedora-Atomic.iso')])
|
||||
self.assertTrue(os.path.isdir(self.topdir + '/work/x86_64/Everything/'))
|
||||
self.assertFalse(os.path.isdir(self.topdir + '/work/x86_64/Everything/ostree_installer'))
|
||||
|
||||
@mock.patch('productmd.images.Image')
|
||||
@mock.patch('pungi.util.get_mtime')
|
||||
@ -222,7 +224,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'--add-arch-template-var=ostree_repo=https://kojipkgs.fedoraproject.org/compose/atomic/Rawhide/',
|
||||
'--add-arch-template-var=ostree_osname=fedora-atomic',
|
||||
'--add-arch-template-var=ostree_ref=fedora-atomic/Rawhide/x86_64/docker-host',
|
||||
self.topdir + '/compose/Everything/x86_64/os'],
|
||||
self.topdir + '/work/x86_64/Everything/ostree_installer'],
|
||||
channel=None, mounts=[self.topdir],
|
||||
packages=['pungi', 'lorax'],
|
||||
task_id=True, use_shell=True)])
|
||||
@ -230,7 +232,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
[mock.call(koji.get_runroot_cmd.return_value,
|
||||
log_file=self.topdir + '/logs/x86_64/ostree/runroot.log')])
|
||||
self.assertEqual(link.call_args_list,
|
||||
[mock.call(self.topdir + '/compose/Everything/x86_64/os/images/boot.iso',
|
||||
[mock.call(self.topdir + '/work/x86_64/Everything/ostree_installer/images/boot.iso',
|
||||
final_iso_path)])
|
||||
self.assertEqual(get_file_size.call_args_list, [mock.call(final_iso_path)])
|
||||
self.assertEqual(get_mtime.call_args_list, [mock.call(final_iso_path)])
|
||||
|
Loading…
Reference in New Issue
Block a user