def generate_iso(self, cleanup=True):
self.cdrom_iso_tmp = NamedTemporaryFile(delete=False, dir=self.tmp_dir.name)
cdrom_iso = self.cdrom_iso_tmp.name
# chmod to be r/w by everyone
# so we can remove the file even when qemu takes the ownership
tools = {
"genisoimage": self.__genisoimage,
"mkisofs": self.__mkisofs
}
available = next(bin for bin in tools.keys()
if shutil.which(bin) is not None)
# generate iso
if available is None:
raise Exception('Cannot find tools for creating ISO images')
tools[available](cdrom_iso)
logging.debug('ISO generated at %s', cdrom_iso)
# cleanup
if cleanup:
self.cdrom_dir_tmp.cleanup()
return cdrom_iso
评论列表
文章目录