diff options
-rw-r--r-- | tests/cli-test-xml/compare/virt-install-singleton-config-2.xml | 11 | ||||
-rw-r--r-- | tests/cli-test-xml/compare/virt-install-singleton-config-3.xml | 2 | ||||
-rwxr-xr-x | virt-install | 29 |
3 files changed, 19 insertions, 23 deletions
diff --git a/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml b/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml index cb3e1615..e8d75b3b 100644 --- a/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml +++ b/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml @@ -90,7 +90,6 @@ <type arch="x86_64" machine="q35">hvm</type> <loader>/foo/bar</loader> <boot dev="network"/> - <boot dev="hd"/> <smbios mode="sysinfo"/> <bootmenu enable="no"/> <bios rebootTimeout="3"/> @@ -160,11 +159,6 @@ </pm> <devices> <emulator>/new/emu</emulator> - <disk type="file" device="disk"> - <driver name="qemu" type="qcow2"/> - <source file="/var/lib/libvirt/images/foobar.qcow2"/> - <target dev="vda" bus="virtio"/> - </disk> <controller type="usb" index="0" model="qemu-xhci" ports="15"/> <controller type="scsi" index="0" model="virtio-scsi"/> <filesystem type="mount" accessmode="mapped"> @@ -382,11 +376,6 @@ </pm> <devices> <emulator>/new/emu</emulator> - <disk type="file" device="disk"> - <driver name="qemu" type="qcow2"/> - <source file="/var/lib/libvirt/images/foobar.qcow2"/> - <target dev="vda" bus="virtio"/> - </disk> <controller type="usb" index="0" model="qemu-xhci" ports="15"/> <controller type="scsi" index="0" model="virtio-scsi"/> <filesystem type="mount" accessmode="mapped"> diff --git a/tests/cli-test-xml/compare/virt-install-singleton-config-3.xml b/tests/cli-test-xml/compare/virt-install-singleton-config-3.xml index 67433d33..f9e5f5ba 100644 --- a/tests/cli-test-xml/compare/virt-install-singleton-config-3.xml +++ b/tests/cli-test-xml/compare/virt-install-singleton-config-3.xml @@ -7,8 +7,6 @@ </libosinfo:libosinfo> </metadata> <maxMemory slots="2">2097152</maxMemory> - <memory>2097152</memory> - <currentMemory>2097152</currentMemory> <memoryBacking> <hugepages/> <access mode="shared"/> diff --git a/virt-install b/virt-install index bbd24d03..bb1c06e9 100755 --- a/virt-install +++ b/virt-install @@ -306,6 +306,16 @@ def do_test_media_detection(conn, options): # General option validation # ############################# +def storage_specified(options, guest): + if guest.os.is_container(): + return True + return options.disk or options.filesystem + + +def memory_specified(guest): + return guest.memory or guest.currentMemory or guest.cpu.cells + + def validate_required_options(options, guest, installer): # Required config. Don't error right away if nothing is specified, # aggregate the errors to help first time users get it right @@ -314,11 +324,10 @@ def validate_required_options(options, guest, installer): if not guest.name: msg += "\n" + _("--name is required") - if not guest.memory and not guest.cpu.cells: + if not memory_specified(guest): msg += "\n" + _("--memory amount in MiB is required") - if (not guest.os.is_container() and - not (options.disk or options.filesystem)): + if not storage_specified(options, guest): msg += "\n" + ( _("--disk storage must be specified (override with --disk none)")) @@ -520,21 +529,21 @@ def set_resources_from_osinfo(options, guest): if guest.os.is_container(): return - # We need to do this upfront, so we don't incorrectly set guest.vcpus - guest.sync_vcpus_topology() - res = guest.osinfo.get_recommended_resources() storage = res.get_recommended_storage(guest.os.arch) ram = res.get_recommended_ram(guest.os.arch) ncpus = res.get_recommended_ncpus(guest.os.arch) - if ram and not guest.currentMemory: + if ram and not memory_specified(guest): guest.currentMemory = ram // 1024 - if ncpus and not guest.vcpus: - guest.vcpus = ncpus + if ncpus: + # We need to do this upfront, so we don't incorrectly set guest.vcpus + guest.sync_vcpus_topology() + if not guest.vcpus: + guest.vcpus = ncpus - if storage and not options.disk: + if storage and not storage_specified(options, guest): diskstr = 'size=%d' % (storage // (1024 ** 3)) logging.debug("Generated default libosinfo '--disk %s'", diskstr) options.disk = [diskstr] |