Accepting request 844154 from Virtualization
Fix for boo#1178141 - Accomodate qemu modularization OBS-URL: https://build.opensuse.org/request/show/844154 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=212
This commit is contained in:
commit
33f58ba8b8
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 25 02:34:44 UTC 2020 - Bruce Rogers <brogers@suse.com>
|
||||
|
||||
- boo#1178141 - Accomodate qemu modularization with respect to
|
||||
spice and spice related optional modules. If full spice support
|
||||
is not detected due to missing qemu modules (v5.1 qemu and newer),
|
||||
use vnc as the default install-time graphics type used
|
||||
virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 23 13:25:38 MDT 2020 - carnold@suse.com
|
||||
|
||||
- bsc#1177763 - Cannot install an existing virtual machine two
|
||||
error messages with Virtual Machine Manager
|
||||
virtman-append-usr-sbin-to-search-path.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 30 17:07:44 MDT 2020 - carnold@suse.com
|
||||
|
||||
|
@ -52,6 +52,7 @@ Patch126: virtinst-add-caasp-support.patch
|
||||
Patch127: virtinst-add-sle15-detection-support.patch
|
||||
Patch128: virtinst-add-pvh-support.patch
|
||||
Patch129: virtinst-media-detection.patch
|
||||
Patch130: virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch
|
||||
# Bug Fixes
|
||||
Patch151: virtman-increase-setKeepAlive-count.patch
|
||||
Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch
|
||||
@ -62,6 +63,7 @@ Patch156: virtman-dont-specify-gtksource-version.patch
|
||||
Patch157: virtman-fix-restore-vm-menu-selection.patch
|
||||
Patch158: virtman-disallow-adding-floppy-disk.patch
|
||||
Patch159: virtman-register-delete-event-for-details-dialog.patch
|
||||
Patch160: virtman-append-usr-sbin-to-search-path.patch
|
||||
Patch170: virtinst-xen-drive-type.patch
|
||||
Patch171: virtinst-xenbus-disk-index-fix.patch
|
||||
Patch172: virtinst-refresh_before_fetch_pool.patch
|
||||
@ -174,6 +176,7 @@ machine).
|
||||
%patch127 -p1
|
||||
%patch128 -p1
|
||||
%patch129 -p1
|
||||
%patch130 -p1
|
||||
# Bug Fixes
|
||||
%patch151 -p1
|
||||
%patch152 -p1
|
||||
@ -184,6 +187,7 @@ machine).
|
||||
%patch157 -p1
|
||||
%patch158 -p1
|
||||
%patch159 -p1
|
||||
%patch160 -p1
|
||||
%patch170 -p1
|
||||
%patch171 -p1
|
||||
%patch172 -p1
|
||||
|
@ -0,0 +1,57 @@
|
||||
From 2919f40ac931dce5dedf326f84e83e8c04e1fabe Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Sat, 24 Oct 2020 08:10:29 -0600
|
||||
Subject: [PATCH] graphics: add check for qemu modules in spice graphics
|
||||
detection
|
||||
|
||||
For SLE and openSUSE qemu, starting with v5.1, spice and spice related
|
||||
qemu modules have been split away from the main system emulator and
|
||||
are packaged as Recommends, meaning that they may not be present.
|
||||
Up to now virt-manager has assumed spice is available for x86 qemu, but
|
||||
that is no longer the case. Unfortunately the standard libvirt feature
|
||||
detection can't yet help us out here, so we leapfrog libvirt by doing
|
||||
our own detection of whether the qemu modules needed to support the
|
||||
default guest install using spice, usb redirection, and qxl video are
|
||||
present.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
virtinst/devices/graphics.py | 9 +++++++++
|
||||
virtinst/support.py | 1 +
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/virtinst/devices/graphics.py b/virtinst/devices/graphics.py
|
||||
index a514b455..f5083e68 100644
|
||||
--- a/virtinst/devices/graphics.py
|
||||
+++ b/virtinst/devices/graphics.py
|
||||
@@ -135,6 +135,15 @@ class DeviceGraphics(Device):
|
||||
# Spice has issues on some host arches, like ppc, so allow it
|
||||
if self.conn.caps.host.cpu.arch not in ["i686", "x86_64"]:
|
||||
return False
|
||||
+ if self.conn.support.conn_spice_modular():
|
||||
+ if self.conn.caps.host.cpu.arch in ["x86_64"]:
|
||||
+ if not (os.path.exists("/usr/lib64/qemu/hw-usb-redirect.so") and
|
||||
+ os.path.exists("/usr/lib64/qemu/hw-display-qxl.so")):
|
||||
+ return False
|
||||
+ else:
|
||||
+ if not (os.path.exists("/usr/lib/qemu/hw-usb-redirect.so") and
|
||||
+ os.path.exists("/usr/lib/qemu/hw-display-qxl.so")):
|
||||
+ return False
|
||||
return True
|
||||
|
||||
def _listen_need_port(self):
|
||||
diff --git a/virtinst/support.py b/virtinst/support.py
|
||||
index de73629e..29dad32b 100644
|
||||
--- a/virtinst/support.py
|
||||
+++ b/virtinst/support.py
|
||||
@@ -281,6 +281,7 @@ class SupportCache:
|
||||
conn_disk_driver_name_qemu = _make(
|
||||
hv_version={"qemu": 0, "xen": "4.2.0"},
|
||||
hv_libvirt_version={"qemu": 0, "xen": "1.1.0"})
|
||||
+ conn_spice_modular = _make(hv_version={"qemu": "5.1.0", "test": 0})
|
||||
|
||||
# Domain checks
|
||||
domain_xml_inactive = _make(function="virDomain.XMLDesc", run_args=(),
|
||||
--
|
||||
2.29.0
|
||||
|
19
virtman-append-usr-sbin-to-search-path.patch
Normal file
19
virtman-append-usr-sbin-to-search-path.patch
Normal file
@ -0,0 +1,19 @@
|
||||
References: bsc#1177763
|
||||
When virt-manager is launched by a user (non-root) for the first
|
||||
time and no connection was previously defined, the user path
|
||||
typically does not have /usr/sbin and will therefore fail to find
|
||||
the installed libvirtd.
|
||||
|
||||
|
||||
--- virt-manager-3.1.0/virtManager/lib/connectauth.py.orig 2020-10-23 13:18:59.894366558 -0600
|
||||
+++ virt-manager-3.1.0/virtManager/lib/connectauth.py 2020-10-23 13:20:03.050368102 -0600
|
||||
@@ -204,7 +204,8 @@ def connect_error(conn, errmsg, tb, warn
|
||||
##################################
|
||||
|
||||
def setup_first_uri(config, tryuri):
|
||||
- libvirtd_installed = bool(shutil.which("libvirtd"))
|
||||
+ # Add /usr/sbin to the path in case non-root user launches virt-manager
|
||||
+ libvirtd_installed = bool(shutil.which("libvirtd", path=os.environ['PATH'] + os.pathsep + "/usr/sbin"))
|
||||
if config.CLITestOptions.fake_no_libvirtd:
|
||||
libvirtd_installed = False
|
||||
|
Loading…
Reference in New Issue
Block a user