dd8a28d4b2
virt-manager.spec - Upstream bug fixes 76bad650-fix-virt-xml-define-and-update.patch fc93e154-fix-udp-tcp-host-vs-mode-UI.patch 34db1af7-fix-adding-iscsi-pools.patch 77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch - fate#318394: Update to version 1.2.1 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=241
52 lines
2.1 KiB
Diff
52 lines
2.1 KiB
Diff
Use the correct qemu emulator based on the architecture.
|
|
We want to get away from using the old qemu-dm emulator
|
|
for Xen HVM guests so default to qemu-system-i386.
|
|
Index: virt-manager-1.2.1/virtinst/guest.py
|
|
===================================================================
|
|
--- virt-manager-1.2.1.orig/virtinst/guest.py
|
|
+++ virt-manager-1.2.1/virtinst/guest.py
|
|
@@ -19,6 +19,7 @@
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
|
# MA 02110-1301 USA.
|
|
|
|
+import os
|
|
import logging
|
|
|
|
import urlgrabber.progress as progress
|
|
@@ -811,14 +812,29 @@ class Guest(XMLBuilder):
|
|
self.emulator = None
|
|
return
|
|
|
|
- if self.emulator:
|
|
+ if self.conn.is_qemu():
|
|
+ if self.os.arch == "s390x":
|
|
+ preferred_emulator = "/usr/bin/qemu-system-s390x"
|
|
+ elif self.os.arch == "ppc64" or self.os.arch == "ppc64le":
|
|
+ preferred_emulator = "/usr/bin/qemu-system-ppc64"
|
|
+ else:
|
|
+ preferred_emulator = "/usr/bin/qemu-system-x86_64"
|
|
+ elif self.conn.is_lxc():
|
|
+ preferred_emulator = "/usr/lib/libvirt/libvirt_lxc"
|
|
+ if not os.path.exists(preferred_emulator):
|
|
+ preferred_emulator = "/usr/lib64/libvirt/libvirt_lxc"
|
|
+ else:
|
|
+ preferred_emulator = "/usr/lib/xen/bin/qemu-system-i386"
|
|
+ if self.emulator and self.emulator == preferred_emulator:
|
|
return
|
|
|
|
- if self.os.is_hvm() and self.type == "xen":
|
|
- if self.conn.caps.host.cpu.arch == "x86_64":
|
|
- self.emulator = "/usr/lib64/xen/bin/qemu-dm"
|
|
- else:
|
|
- self.emulator = "/usr/lib/xen/bin/qemu-dm"
|
|
+ if os.path.exists(preferred_emulator):
|
|
+ self.emulator = preferred_emulator
|
|
+ elif self.os.is_hvm() and self.type == "xen":
|
|
+ # We don't want to use the old qemu-dm for xen
|
|
+ self.emulator = "/usr/lib/xen/bin/qemu-system-i386"
|
|
+ elif not self.emulator:
|
|
+ self.emulator = "/usr/bin/qemu-kvm"
|
|
|
|
def _set_cpu_defaults(self):
|
|
self.cpu.set_topology_defaults(self.vcpus)
|