[virt-tools-list] [virt-install PATCH v2 09/14] unattended: Add helper method to generate the install script
Fabiano Fidêncio
fidencio at redhat.com
Thu Feb 28 21:10:33 UTC 2019
On Fri, Feb 22, 2019 at 9:40 AM Fabiano Fidêncio <fidencio at redhat.com> wrote:
>
> generate_install_script() is a helper that will do all the needed
> plumbing related to create, populating and generating the install script
> and its config.
>
> The method returns the path to the generated install script and the
> kernel command line to be used with it.
>
> Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
> ---
> virtinst/unattended.py | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/virtinst/unattended.py b/virtinst/unattended.py
> index 01f6f5a2..9550beef 100644
> --- a/virtinst/unattended.py
> +++ b/virtinst/unattended.py
> @@ -6,8 +6,40 @@
> # This work is licensed under the GNU GPLv2 or later.
> # See the COPYING file in the top-level directory.
>
> +import os
> +
> +from . import util
> +
> +import gi
> +from gi.repository import Gio as gio
> +
>
> class UnattendedData():
> profile = None
> admin_password = None
> user_password = None
> +
> +
> +def generate_install_script(guest, unattended_data):
> + script = guest.osinfo.get_install_script(unattended_data.profile)
> +
> + # For all tree based installations we're going to perform initrd injection
> + # and install the systems via network.
> + guest.osinfo.set_install_script_preferred_injection_method(
> + script, "initrd")
> + guest.osinfo.set_install_script_installation_source(script, "network")
> +
> + config = guest.osinfo.get_install_script_config(
> + script, unattended_data, guest.os.arch, guest.name)
> +
> + scratch = os.path.join(util.get_cache_dir(), "unattended")
> + if not os.path.exists(scratch):
> + os.makedirs(stratch, 0o751)
Marc-André found a typo here: stratch -> scratch
Seems that I didn't hit this issue as I already had the dir created
(from the previous series).
> +
> + guest.osinfo.generate_install_script_output(script, config,
> + gio.File.new_for_path(scratch))
> +
> + path = os.path.join(scratch, script.get_expected_filename())
> + cmdline = guest.osinfo.generate_install_script_cmdline(script, config)
> +
> + return path, cmdline
> --
> 2.20.1
>
More information about the virt-tools-list
mailing list