summaryrefslogtreecommitdiff
path: root/virt-install
diff options
context:
space:
mode:
authorFabiano FidĂȘncio <fidencio@redhat.com>2019-09-11 18:19:09 +0200
committerCole Robinson <crobinso@redhat.com>2019-09-11 16:22:40 -0400
commitd6d97c658771f75d2a1fdfeeac02ee7bfb106b88 (patch)
tree26f8977a8d077e78c78d772aed396c7cf0251dd5 /virt-install
parent0f1acc9f8f392eaf5edd30ce239728afd1f924cf (diff)
downloadvirt-manager-d6d97c658771f75d2a1fdfeeac02ee7bfb106b88.tar.gz
osdict: Choose the most appropriate tree when a profile is set
As some OSes, as Fedora, have variants (which we rely to be standardised on osinfo-db side), let's select the most appropriate variant according to the selected profile of the unattended installation. Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com>
Diffstat (limited to 'virt-install')
-rwxr-xr-xvirt-install14
1 files changed, 9 insertions, 5 deletions
diff --git a/virt-install b/virt-install
index 8efa4960..022f947d 100755
--- a/virt-install
+++ b/virt-install
@@ -386,9 +386,9 @@ def show_warnings(options, guest, installer, osdata):
# Guest building helpers #
##########################
-def get_location_for_os(guest, osname):
+def get_location_for_os(guest, osname, profile=None):
osinfo = virtinst.OSDB.lookup_os(osname, raise_error=True)
- location = osinfo.get_location(guest.os.arch)
+ location = osinfo.get_location(guest.os.arch, profile)
print_stdout(_("Using {osname} --location {url}").format(
osname=osname, url=location))
return location
@@ -399,6 +399,7 @@ def build_installer(options, guest, installdata):
location = None
location_kernel = None
location_initrd = None
+ unattended_data = None
extra_args = options.extra_args
install_bootdev = installdata.bootdev
@@ -413,8 +414,12 @@ def build_installer(options, guest, installdata):
else:
extra_args = [installdata.kernel_args]
+ if options.unattended:
+ unattended_data = cli.parse_unattended(options.unattended)
+
if install_os:
- location = get_location_for_os(guest, install_os)
+ profile = unattended_data.profile if unattended_data else None
+ location = get_location_for_os(guest, install_os, profile)
elif options.location:
(location,
location_kernel,
@@ -443,8 +448,7 @@ def build_installer(options, guest, installdata):
install_kernel_args=install_kernel_args,
no_install=no_install)
- if options.unattended:
- unattended_data = cli.parse_unattended(options.unattended)
+ if unattended_data:
installer.set_unattended_data(unattended_data)
if extra_args:
installer.set_extra_args(extra_args)