Accepting request 329789 from Virtualization

Bug fixes

OBS-URL: https://build.opensuse.org/request/show/329789
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=126
This commit is contained in:
Dominique Leuenberger 2015-09-09 18:21:11 +00:00 committed by Git OBS Bridge
commit 9387259397
8 changed files with 132 additions and 89 deletions

View File

@ -0,0 +1,68 @@
Subject: guest: Don't try to set vmport on non-x86, it isn't supported (bz 1259998)
From: Cole Robinson crobinso@redhat.com Fri Sep 4 12:14:22 2015 -0400
Date: Fri Sep 4 12:14:22 2015 -0400:
Git: 5e68b0fc3d9b93491817a3c1914fa9b3633440b6
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
@@ -8,11 +8,6 @@
<type arch="ppc64le" machine="pseries">hvm</type>
<boot dev="hd"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
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
@@ -847,6 +847,7 @@ class Guest(XMLBuilder):
self.features.pae = self.conn.caps.supports_pae()
if (self.features.vmport == "default" and
+ self.os.is_x86() and
self.has_spice() and
self.conn.check_support(self.conn.SUPPORT_CONN_VMPORT)):
self.features.vmport = False

View File

@ -1,4 +1,8 @@
References: bsc#941464
Subject: storage: fix default storage pool lookup
From: Charles Arnold carnold@suse.com Wed Aug 12 16:00:14 2015 -0600
Date: Mon Aug 31 18:25:37 2015 -0400:
Git: eb92178e0c208c20c658dd3f38caf377bb788ae4
virt-convert fails when the storage pool is already present but
is not called 'default'.
@ -6,19 +10,26 @@ If the 'default' pool has been removed but another pool uses the
default location of /var/lib/libvirt/images virt-convert will fail
to find the pool and attempt to create another one with the same
path. This causes the conversion to fail.
Index: virt-manager-1.2.1/virtinst/storage.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py
@@ -209,10 +209,11 @@ class StoragePool(_StorageObject):
Signed-off-by: Charles Arnold <carnold@suse.com>
(crobinso: Remove now-redundant 'pass')
diff --git a/virtinst/storage.py b/virtinst/storage.py
index 285acb8..d3d867a 100644
--- a/virtinst/storage.py
+++ b/virtinst/storage.py
@@ -209,10 +209,12 @@ class StoragePool(_StorageObject):
try:
pool = conn.storagePoolLookupByName(name)
except libvirt.libvirtError:
- pass
+ # Try default pool path when "default" name fails
+ pool = StoragePool.lookup_pool_by_path(conn, path)
pass
if pool:
- return
+ # This is a libvirt pool object so create a StoragePool from it
+ return StoragePool(conn, parsexml=pool.XMLDesc(0))
try:

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Tue Sep 8 15:59:53 MDT 2015 - carnold@suse.com
- bsc#942796 - Virtualization/virt-manager: Missing dependeny
virt-manager.spec
-------------------------------------------------------------------
Thu Sep 3 10:43:15 MDT 2015 - carnold@suse.com
- bsc#944374 - virt-manager uninstallable on aarch64
virt-manager.spec
- Add upstream bug fix
5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
- Drop virtinst-detect-windows-media.patch as this is not needed
now that we use libosinfo
-------------------------------------------------------------------
Mon Aug 31 16:41:28 MDT 2015 - carnold@suse.com
- Drop virtinst-fix-storage-pool-lookup.patch in favor of upstream
version (bsc#941464).
eb92178e-virtinst-fix-storage-pool-lookup.patch
-------------------------------------------------------------------
Wed Aug 26 15:32:59 MDT 2015 - carnold@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package virt-manager
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -45,6 +45,8 @@ Patch5: a9b303fb-fix-copy-host-cpu-definition.patch
Patch6: f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch
Patch7: aebebbf8-report-an-error-for-pxe-install-without-network.patch
Patch8: 4970615f-fix-qemu-vs-lxc-detection.patch
Patch9: eb92178e-virtinst-fix-storage-pool-lookup.patch
Patch10: 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@ -70,10 +72,9 @@ Patch121: virtinst-default-xen-to-qcow2-format.patch
Patch123: virtinst-detect-oes-distros.patch
Patch124: virtinst-modify-gui-defaults.patch
Patch125: virtinst-vol-default-nocow.patch
Patch126: virtinst-detect-windows-media.patch
Patch127: virtinst-set-cache-mode-unsafe-for-install.patch
Patch128: virtinst-add-default-rng-device.patch
Patch129: virtinst-set-qemu-emulator.patch
Patch126: virtinst-set-cache-mode-unsafe-for-install.patch
Patch127: virtinst-add-default-rng-device.patch
Patch128: virtinst-set-qemu-emulator.patch
# Bug Fixes
Patch150: virtman-supported-disk-formats.patch
Patch151: virtman-prevent-double-click-starting-vm-twice.patch
@ -85,7 +86,6 @@ Patch160: virtinst-xen-drive-type.patch
Patch161: virtinst-xenbus-disk-index-fix.patch
Patch162: virtinst-refresh_before_fetch_pool.patch
Patch163: virtinst-replace-unar-with-other-archivers.patch
Patch164: virtinst-fix-storage-pool-lookup.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -95,30 +95,18 @@ Requires: dbus-1-x11
Requires: dconf
Requires: gtk3
Requires: python-gconf
Requires: virt-manager-common = %{verrel}
Requires: vm-install >= 0.5.6
# Typelib's
Requires: typelib(GVnc)
Requires: typelib(GtkVnc)
Requires: typelib(LibvirtGLib)
Requires: typelib(SpiceClientGtk)
Requires: typelib(Vte)
# For console widget
Requires: python-gobject-cairo
Recommends: python-SpiceClientGtk
Requires: virt-install
Requires: virt-manager-common = %{verrel}
Recommends: vm-install >= 0.5.6
%if %{with_guestfs}
Requires: python-libguestfs
%endif
BuildRequires: glib2-devel
%if 0%{?suse_version} > 1320
BuildRequires: gobject-introspection
%endif
BuildRequires: intltool
BuildRequires: perl
BuildRequires: python
@ -142,7 +130,17 @@ Requires: libvirt-python >= 0.7.0
Requires: python-ipaddr
Requires: python-libxml2
Requires: python-urlgrabber
%if 0%{?is_opensuse}
BuildRequires: gobject-introspection
%else
Recommends: typelib(AppIndicator3)
Requires: typelib(GVnc)
Requires: typelib(GtkVnc)
Requires: typelib(Libosinfo)
Requires: typelib(LibvirtGLib)
Requires: typelib(SpiceClientGtk)
Requires: typelib(Vte)
%endif
%description common
Common files used by the different virt-manager interfaces, as well as
@ -178,6 +176,8 @@ machine).
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1
@ -206,7 +206,6 @@ machine).
%patch126 -p1
%patch127 -p1
%patch128 -p1
%patch129 -p1
# Bug Fixes
%patch150 -p1
%patch151 -p1
@ -218,7 +217,6 @@ machine).
%patch161 -p1
%patch162 -p1
%patch163 -p1
%patch164 -p1
%build
%if %{qemu_user}

View File

@ -1,57 +0,0 @@
Enhancement to detect windows media. It is based solely upon
finding an autorun.inf file in the root of the installation source.
It only assumes windows, not the specific version of windows.
Index: virt-manager-1.2.0/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.2.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.2.0/virtinst/urlfetcher.py
@@ -408,6 +408,24 @@ def _distroFromSUSEContent(fetcher, arch
return ob
+def _distroFromAutorun(fetcher, arch, vmtype=None):
+ # Just look for autorun.inf (also in uppercase)
+ # If present media is likely from a windows iso.
+ distro_version = None
+ if not fetcher.hasFile("autorun.inf"):
+ return None
+
+ dclass = WindowsDistro
+
+ ob = dclass(fetcher, arch, vmtype)
+ if dclass != GenericDistro:
+ ob.content = distro_version
+
+ # Explictly call this, so we populate os_type/variant info
+ ob.isValidStore()
+
+ return ob
+
def getDistroStore(guest, fetcher):
stores = []
logging.debug("Finding distro store for location=%s", fetcher.location)
@@ -427,6 +445,10 @@ def getDistroStore(guest, fetcher):
if dist:
return dist
+ dist = _distroFromAutorun(fetcher, arch, _type)
+ if dist:
+ return dist
+
stores = _allstores[:]
# If user manually specified an os_distro, bump it's URL class
@@ -1175,6 +1197,13 @@ class ALTLinuxDistro(Distro):
logging.debug("Regex didn't match, not a %s distro", self.name)
return False
+class WindowsDistro(Distro):
+
+ urldistro = "windows"
+ os_variant = "win8.1"
+
+ def isValidStore(self):
+ return False
# Build list of all *Distro classes
def _build_distro_list():

View File

@ -3,7 +3,7 @@ Index: virt-manager-1.2.1/virtinst/storage.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py
@@ -447,7 +447,7 @@ class StoragePool(_StorageObject):
@@ -449,7 +449,7 @@ class StoragePool(_StorageObject):
def list_formats(self):
if self.type == self.TYPE_FS:
return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",

View File

@ -8,7 +8,7 @@ Index: virt-manager-1.2.1/virtinst/storage.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py
@@ -716,6 +716,11 @@ class StorageVolume(_StorageObject):
@@ -718,6 +718,11 @@ class StorageVolume(_StorageObject):
lazy_refcounts = XMLProperty("./target/features/lazy_refcounts",
is_bool=True, default_cb=_lazy_refcounts_default_cb)

View File

@ -75,7 +75,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py
return
self.add_device(VirtualGraphics(self.conn))
@@ -956,7 +961,7 @@ class Guest(XMLBuilder):
@@ -957,7 +962,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True