diff options
author | Cole Robinson <crobinso@redhat.com> | 2019-06-12 17:55:30 -0400 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2019-06-13 14:00:04 -0400 |
commit | 19bcec651cabb970b195b9dddb348eb6503cf27c (patch) | |
tree | 4f042cb860a2382e95c6157985e47bf9843a9606 /virt-install | |
parent | 9cbe5f9742c4a4d09ca75be1aa368708be999f4f (diff) | |
download | virt-manager-19bcec651cabb970b195b9dddb348eb6503cf27c.tar.gz |
virt-install: Push validation down into the installer
It's hard to validate whether something like --extra-args or
--initrd-inject is supported based on the command line arguments. It's
easier to let the installer.py figure it out because it's the
authoritative source
Diffstat (limited to 'virt-install')
-rwxr-xr-x | virt-install | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/virt-install b/virt-install index 5813d3a9..a020fa8a 100755 --- a/virt-install +++ b/virt-install @@ -341,7 +341,7 @@ _cdrom_location_man_page = _("See the man page for examples of " "using --location with CDROM media") -def check_option_collisions(options, guest, installer): +def check_option_collisions(options, guest): if options.noreboot and options.transient: fail(_("--noreboot and --transient can not be specified together")) @@ -354,20 +354,6 @@ def check_option_collisions(options, guest, installer): fail(_("Install methods (%s) cannot be specified for " "container guests") % install_methods) - cdrom_err = "" - if installer.cdrom: - cdrom_err = " " + _cdrom_location_man_page - if not options.location and options.extra_args: - fail(_("--extra-args only work if specified with --location.") + - cdrom_err) - if not options.location and options.initrd_inject: - fail(_("--initrd-inject only works if specified with --location.") + - cdrom_err) - - if options.unattended: - if options.initrd_inject or options.extra_args: - fail(_("--unattended does not support --initrd-inject nor --extra-args.")) - def _show_nographics_warnings(options, guest, installer): if guest.devices.graphics: @@ -494,18 +480,16 @@ def build_installer(options, guest): install_kernel=install_kernel, install_initrd=install_initrd, install_kernel_args=install_kernel_args) + if cdrom and options.livecd: installer.livecd = True if options.unattended: unattended_data = cli.parse_unattended(options.unattended) - options.unattended = None - installer.set_unattended_data(unattended_data) - else: - if extra_args: - installer.extra_args = extra_args - if options.initrd_inject: - installer.set_initrd_injections(options.initrd_inject) + if extra_args: + installer.set_extra_args(extra_args) + if options.initrd_inject: + installer.set_initrd_injections(options.initrd_inject) if options.autostart: installer.autostart = True @@ -604,7 +588,7 @@ def build_guest_instance(conn, options): cli.validate_disk(disk) validate_required_options(options, guest, installer) - check_option_collisions(options, guest, installer) + check_option_collisions(options, guest) show_warnings(options, guest, installer) return guest, installer |