virt-manager/virtinst-set-qemu-emulator.patch
Charles Arnold dd8a28d4b2 - bsc#937336 - ImportError using virt-install
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
2015-07-10 14:37:12 +00:00

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)