virt-manager/virtinst-set-qemu-emulator.patch
Charles Arnold b78bd34b50 - bnc#909225 - pygrub Unable to find partition containing kernel
Update virtinst-pvgrub2-bootloader.patch

- Reorder virt-manager patches according to type
- Drop virtman-cdrom.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=216
2015-01-05 18:16:33 +00:00

46 lines
1.7 KiB
Diff

Index: virt-manager-1.1.0/virtinst/guest.py
===================================================================
--- virt-manager-1.1.0.orig/virtinst/guest.py
+++ virt-manager-1.1.0/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
@@ -769,14 +770,26 @@ 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"
+ 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":
+ self.emulator = "/usr/lib/xen/bin/qemu-dm"
+ elif not self.emulator:
+ self.emulator = "/usr/bin/qemu-kvm"
def _set_cpu_defaults(self):
self.cpu.set_topology_defaults(self.vcpus)