def make_image(opts, ks): """ Install to a disk image :param opts: options passed to livemedia-creator :type opts: argparse options :param str ks: Path to the kickstart to use for the installation :returns: Path of the image created :rtype: str Use qemu+boot.iso or anaconda to install to a disk image. """ if opts.image_name: disk_img = joinpaths(opts.result_dir, opts.image_name) else: disk_img = tempfile.mktemp(prefix="lmc-disk-", suffix=".img", dir=opts.result_dir) log.info("disk_img = %s", disk_img) disk_size = calculate_disk_size(opts, ks) try: if opts.no_virt: novirt_install(opts, disk_img, disk_size) else: install_log = os.path.abspath(os.path.dirname(opts.logfile))+"/virt-install.log" log.info("install_log = %s", install_log) virt_install(opts, install_log, disk_img, disk_size) except InstallError as e: log.error("Install failed: %s", e) if not opts.keep_image and os.path.exists(disk_img): log.info("Removing bad disk image") os.unlink(disk_img) raise log.info("Disk Image install successful") return disk_img
def make_image(opts, ks, cancel_func=None): """ Install to a disk image :param opts: options passed to livemedia-creator :type opts: argparse options :param str ks: Path to the kickstart to use for the installation :param cancel_func: Function that returns True to cancel build :type cancel_func: function :returns: Path of the image created :rtype: str Use qemu+boot.iso or anaconda to install to a disk image. """ # For make_tar_disk, opts.image_name is the name of the final tarball. # Use opts.tar_disk_name as the name of the disk image if opts.make_tar_disk: disk_img = joinpaths(opts.result_dir, opts.tar_disk_name) elif opts.image_name: disk_img = joinpaths(opts.result_dir, opts.image_name) else: disk_img = tempfile.mktemp(prefix="lmc-disk-", suffix=".img", dir=opts.result_dir) log.info("disk_img = %s", disk_img) disk_size = calculate_disk_size(opts, ks) # For make_tar_disk, pass a second path parameter for the final tarball # not the final output file. if opts.make_tar_disk: tar_img = joinpaths(opts.result_dir, opts.image_name) else: tar_img = None try: if opts.no_virt: novirt_install(opts, disk_img, disk_size, cancel_func=cancel_func, tar_img=tar_img) else: install_log = os.path.abspath(os.path.dirname(opts.logfile))+"/virt-install.log" log.info("install_log = %s", install_log) virt_install(opts, install_log, disk_img, disk_size, cancel_func=cancel_func, tar_img=tar_img) except InstallError as e: log.error("Install failed: %s", e) if not opts.keep_image: if os.path.exists(disk_img): log.info("Removing bad disk image") os.unlink(disk_img) if tar_img and os.path.exists(tar_img): log.info("Removing bad tar file") os.unlink(tar_img) raise log.info("Disk Image install successful") if opts.make_tar_disk: return tar_img return disk_img