Do not use the model specified by the OS if it is "virtio-net" and virtionet is not supported. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1177113 Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> --- tests/xmlconfig-xml/install-no-virtionet-xen.xml | 49 ++++++++++++++++++++++++ virtinst/guest.py | 12 +++--- 2 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 tests/xmlconfig-xml/install-no-virtionet-xen.xml diff --git a/tests/xmlconfig-xml/install-no-virtionet-xen.xml b/tests/xmlconfig-xml/install-no-virtionet-xen.xml new file mode 100644 index 0000000..c6ac58e --- /dev/null +++ b/tests/xmlconfig-xml/install-no-virtionet-xen.xml @@ -0,0 +1,49 @@ +<domain type="xen"> + <name>TestGuest</name> + <uuid>12345678-1234-1234-1234-123456789012</uuid> + <memory>409600</memory> + <currentMemory>204800</currentMemory> + <vcpu>5</vcpu> + <os> + <type arch="i686">hvm</type> + <loader>/usr/lib/xen/boot/hvmloader</loader> + <boot dev="cdrom"/> + <boot dev="hd"/> + </os> + <features> + <acpi/> + <apic/> + </features> + <clock offset="utc"/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>destroy</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/lib/xen/bin/qemu-dm</emulator> + <disk type="file" device="floppy"> + <source file="/dev/default-pool/testvol1.img"/> + <target dev="fda" bus="fdc"/> + </disk> + <disk type="file" device="disk"> + <source file="/dev/default-pool/new-test-suite.img"/> + <target dev="hda" bus="ide"/> + </disk> + <disk type="block" device="disk"> + <source dev="/dev/disk-pool/diskvol1"/> + <target dev="hdb" bus="ide"/> + </disk> + <disk type="file" device="cdrom"> + <source file="/dev/null"/> + <target dev="hdc" bus="ide"/> + <readonly/> + </disk> + <interface type="network"> + <source network="default"/> + <mac address="22:22:33:44:55:66"/> + </interface> + <input type="tablet" bus="usb"/> + <graphics type="vnc" port="-1" keymap="ja"/> + <console type="pty"/> + <sound model="es1370"/> + </devices> +</domain> diff --git a/virtinst/guest.py b/virtinst/guest.py index 68b3730..830044b 100644 --- a/virtinst/guest.py +++ b/virtinst/guest.py @@ -963,16 +963,18 @@ class Guest(XMLBuilder): used_targets.append(disk.generate_target(used_targets)) def _set_net_defaults(self): + net_model = None + variant = osdict.lookup_os(self.os_variant) if not self.os.is_hvm(): net_model = None elif self._can_virtio("virtionet"): net_model = "virtio" - else: + elif variant and not variant.virtionet: net_model = self._lookup_osdict_key("netmodel", None) - - for net in self.get_devices("interface"): - if net_model and not net.model: - net.model = net_model + if net_model: + for net in self.get_devices("interface"): + if not net.model: + net.model = net_model def _set_input_defaults(self): input_type = self._lookup_osdict_key("inputtype", "mouse") -- 2.1.0 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list