- Upstream bug fix

535584ed-fix-target-validation-when-editing-device.patch 

- bnc#874408 - virt-manager and libvirt issues persist - unable to
  create or launch
  virtman-vminstall.patch

- Upstream bug fix
  5350d9cc-display-error-on-empty-installation-URL.patch

- Dropped unused and unnecessary patches
  virtinst-cdrom.patch
  virtman-update-backend.patch
  virtman-slow-mouse.patch
  virtman-reverse-serialcon.patch
- Reordered some patches

- Upstream bug fixes
  534bcfa0-use-uniformed-expression-of-Default.patch
  534be092-early-detect-ftp-connection-errors.patch
  534d45db-hiding-removebutton-for-USB-controller.patch
  534d6406-display-the-domain-for-PCI-devices.patch
  534eafe4-avoid-useless-errors-when-connection-closes.patch

- bnc#872789 - XEN domain fails to start when xen disk is atttached
  virtinst-xenbus-disk-index-fix.patch
- bnc#872777 - virt-manager - Error shutting down domain: internal
  error: Failed to shutdown domain '3' with libxenlight
  virtman-shutdown-with-acpi-button.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=166
This commit is contained in:
Charles Arnold 2014-04-22 20:09:58 +00:00 committed by Git OBS Bridge
parent 51d9ace4b3
commit 4648861824
21 changed files with 385 additions and 157 deletions

View File

@ -0,0 +1,25 @@
Subject: details: use uniformed expression of "Default"
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Mon Apr 14 20:08:00 2014 +0800
Date: Mon Apr 14 20:08:00 2014 +0800:
Git: 4ccb1d862b5499b7488a0587735a1941aa1f1a07
We use both "Default" and "default" for controllers
if no controller model needed.
They should be the same expression and "Default"
is a better choice.
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Index: virt-manager-1.0.1/virtManager/details.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/details.py
+++ virt-manager-1.0.1/virtManager/details.py
@@ -3048,7 +3048,7 @@ class vmmDetails(vmmGObjectUI):
self.widget("config-remove").set_sensitive(True)
uiutil.set_combo_entry(self.widget("controller-model"),
- dev.model or "default")
+ dev.model or "Default")
def refresh_filesystem_page(self):
dev = self.get_hw_selection(HW_LIST_COL_DEVICE)

View File

@ -0,0 +1,55 @@
Subject: virtinst: early detect ftp connection errors
From: Giuseppe Scrivano gscrivan@redhat.com Mon Apr 14 14:49:21 2014 +0200
Date: Mon Apr 14 15:20:18 2014 +0200:
Git: 1d312a520e92e89da1b4d958b9de0270eecc6b4b
It fixes two problems:
i) "ftp://" was accepted as valid URL but then it causes this
exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/ftplib.py", line 387, in login
resp = self.sendcmd('USER ' + user)
File "/usr/lib64/python2.7/ftplib.py", line 243, in sendcmd
self.putcmd(cmd)
File "/usr/lib64/python2.7/ftplib.py", line 178, in putcmd
self.putline(line)
File "/usr/lib64/python2.7/ftplib.py", line 173, in putline
self.sock.sendall(line)
AttributeError: 'NoneType' object has no attribute 'sendall'
ii) only a cryptic error message "Unable to complete install: '[Errno
-2] Name or service not known'" was showed to users when the DNS
lookup failed. The exception is now intercepted and decorated with
more information.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1086554
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
index 7075929..3f2744b 100644
--- a/virtinst/urlfetcher.py
+++ b/virtinst/urlfetcher.py
@@ -151,9 +151,16 @@ class _FTPImageFetcher(_URIImageFetcher):
self.ftp = None
def prepareLocation(self):
- url = urlparse.urlparse(self._make_path(""))
- self.ftp = ftplib.FTP(url[1])
- self.ftp.login()
+ try:
+ url = urlparse.urlparse(self._make_path(""))
+ if not url[1]:
+ raise ValueError(_("Invalid install location"))
+ self.ftp = ftplib.FTP(url[1])
+ self.ftp.login()
+ except Exception, e:
+ raise ValueError(_("Opening URL %s failed: %s.") %
+ (self.location, str(e)))
+
def hasFile(self, filename):
path = self._make_path(filename)

View File

@ -0,0 +1,24 @@
Subject: details: hiding removebutton for USB controller
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Tue Apr 15 22:44:43 2014 +0800
Date: Tue Apr 15 22:44:43 2014 +0800:
Git: 86fc54be8e1ab40dd3fc7533dd23fe4787f8c5c8
commit 4c53debd8a8e4c193e211cfa5128c9e88392c0a1
break hiding "config-remove" for USB controller.
This patch will fix this issue.
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Index: virt-manager-1.0.1/virtManager/details.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/details.py
+++ virt-manager-1.0.1/virtManager/details.py
@@ -3041,7 +3041,7 @@ class vmmDetails(vmmGObjectUI):
model.append(["ich9-ehci1", "USB 2"])
model.append(["nec-xhci", "USB 3"])
self.widget("config-remove").set_sensitive(False)
- if dev.type == virtinst.VirtualController.TYPE_SCSI:
+ elif dev.type == virtinst.VirtualController.TYPE_SCSI:
model.append(["default", "Default"])
model.append(["virtio-scsi", "VirtIO SCSI"])
else:

View File

@ -0,0 +1,27 @@
Subject: virtinst: display the domain for PCI devices
From: Giuseppe Scrivano gscrivan@redhat.com Tue Apr 15 16:22:33 2014 +0200
Date: Tue Apr 15 18:53:26 2014 +0200:
Git: e980d9c737284a5e098a35ea6d8a17155aaf5ce9
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1085499
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
diff --git a/virtinst/nodedev.py b/virtinst/nodedev.py
index af6dbf7..17524dc 100644
--- a/virtinst/nodedev.py
+++ b/virtinst/nodedev.py
@@ -169,9 +169,10 @@ class PCIDevice(NodeDevice):
iommu_group = XMLProperty("./capability/iommuGroup/@number", is_int=True)
def pretty_name(self):
- devstr = "%.2X:%.2X:%X" % (int(self.bus),
- int(self.slot),
- int(self.function))
+ devstr = "%.4X:%.2X:%.2X:%X" % (int(self.domain),
+ int(self.bus),
+ int(self.slot),
+ int(self.function))
return "%s %s %s" % (devstr, self.vendor_name, self.product_name)

View File

@ -0,0 +1,34 @@
Subject: connection: Avoid some useless errors when connection closes
From: Cole Robinson crobinso@redhat.com Wed Apr 16 12:23:57 2014 -0400
Date: Wed Apr 16 12:29:24 2014 -0400:
Git: 873c22d19a23f1cc51845c82eb9dfe8b4d60b2d6
- Run the connection
- Restart libvirtd, connection is auto closed
- Re-run the connection
- Manually stop it, see errors in the logs about unknown event IDs
We need to unconditionally clear our event ID list
Index: virt-manager-1.0.1/virtManager/connection.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/connection.py
+++ virt-manager-1.0.1/virtManager/connection.py
@@ -970,14 +970,14 @@ class vmmConnection(vmmGObject):
if not self._backend.is_closed():
for eid in self._domain_cb_ids:
self._backend.domainEventDeregisterAny(eid)
- self._domain_cb_ids = []
-
for eid in self._network_cb_ids:
self._backend.networkEventDeregisterAny(eid)
- self._network_cb_ids = []
except:
logging.debug("Failed to deregister events in conn cleanup",
exc_info=True)
+ finally:
+ self._domain_cb_ids = []
+ self._network_cb_ids = []
self._backend.close()
self.record = []

View File

@ -0,0 +1,23 @@
Subject: virt-manager: display error on an empty installation URL
From: Giuseppe Scrivano gscrivan@redhat.com Thu Apr 17 12:00:09 2014 +0200
Date: Fri Apr 18 09:52:44 2014 +0200:
Git: b20462d86101c17bee5abf6ef55ec633622054c2
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1086529
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Index: virt-manager-1.0.1/virtManager/create.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/create.py
+++ virt-manager-1.0.1/virtManager/create.py
@@ -1308,7 +1308,8 @@ class vmmCreate(vmmGObjectUI):
if self.have_startup_error:
return
- if curpage == PAGE_INSTALL and self.should_detect_media():
+ if (curpage == PAGE_INSTALL and self.should_detect_media()
+ and self.get_config_detectable_media()):
# Make sure we have detected the OS before validating the page
self.detect_media_os(forward=True)
return

View File

@ -0,0 +1,20 @@
Subject: filesystem: Fix target validation when editing device (bz 1089422)
From: Cole Robinson crobinso@redhat.com Mon Apr 21 16:51:23 2014 -0400
Date: Mon Apr 21 16:51:57 2014 -0400:
Git: e6a67fc7099ac39257108080c8cbcfcdc6371e56
diff --git a/virtinst/devicefilesystem.py b/virtinst/devicefilesystem.py
index f516fed..28eda74 100644
--- a/virtinst/devicefilesystem.py
+++ b/virtinst/devicefilesystem.py
@@ -100,7 +100,8 @@ class VirtualFilesystem(VirtualDevice):
# actually a directory, it is merely a arbitrary string tag
# that is exported to the guest as a hint for where to mount
if (self.conn.is_qemu() and
- (self.type == self.TYPE_DEFAULT or
+ (self.type is None or
+ self.type == self.TYPE_DEFAULT or
self.type == self.TYPE_MOUNT)):
pass
elif not os.path.isabs(val):

View File

@ -1,3 +1,51 @@
-------------------------------------------------------------------
Tue Apr 22 09:31:58 MDT 2014 - carnold@suse.com
- Upstream bug fix
535584ed-fix-target-validation-when-editing-device.patch
-------------------------------------------------------------------
Mon Apr 21 07:07:20 MDT 2014 - carnold@suse.com
- bnc#874408 - virt-manager and libvirt issues persist - unable to
create or launch
virtman-vminstall.patch
-------------------------------------------------------------------
Fri Apr 18 08:19:20 MDT 2014 - carnold@suse.com
- Upstream bug fix
5350d9cc-display-error-on-empty-installation-URL.patch
-------------------------------------------------------------------
Thu Apr 17 19:49:59 MDT 2014 - carnold@suse.com
- Dropped unused and unnecessary patches
virtinst-cdrom.patch
virtman-update-backend.patch
virtman-slow-mouse.patch
virtman-reverse-serialcon.patch
- Reordered some patches
-------------------------------------------------------------------
Wed Apr 16 10:49:59 MDT 2014 - carnold@suse.com
- Upstream bug fixes
534bcfa0-use-uniformed-expression-of-Default.patch
534be092-early-detect-ftp-connection-errors.patch
534d45db-hiding-removebutton-for-USB-controller.patch
534d6406-display-the-domain-for-PCI-devices.patch
534eafe4-avoid-useless-errors-when-connection-closes.patch
-------------------------------------------------------------------
Mon Apr 14 11:48:37 MDT 2014 - carnold@suse.com
- bnc#872789 - XEN domain fails to start when xen disk is atttached
virtinst-xenbus-disk-index-fix.patch
- bnc#872777 - virt-manager - Error shutting down domain: internal
error: Failed to shutdown domain '3' with libxenlight
virtman-shutdown-with-acpi-button.patch
-------------------------------------------------------------------
Wed Apr 9 14:01:37 MDT 2014 - carnold@suse.com
@ -7,7 +55,7 @@ Wed Apr 9 14:01:37 MDT 2014 - carnold@suse.com
virtinst-detect-windows-media.patch
-------------------------------------------------------------------
Wed Apr 8 11:06:41 MDT 2014 - carnold@suse.com
Tue Apr 8 11:06:41 MDT 2014 - carnold@suse.com
- bnc#872543 - virt-manager: unable to install i386 SLES
virtinst-detect-suse-distros.patch
@ -16,7 +64,7 @@ Wed Apr 8 11:06:41 MDT 2014 - carnold@suse.com
Dropping virtinst-keep-cdrom-media-attached.patch for libvirt fix
-------------------------------------------------------------------
Wed Apr 3 19:25:41 MDT 2014 - carnold@suse.com
Thu Apr 3 19:25:41 MDT 2014 - carnold@suse.com
- Upstream bug fixes
533d708d-fix-showing-vcpus-values.patch
@ -49,7 +97,7 @@ Wed Apr 2 04:34:59 CST 2014 - cyliu@suse.com
virtinst-vol-default-nocow.patch
-------------------------------------------------------------------
Fri Mar 31 13:47:38 MDT 2014 - carnold@suse.com
Mon Mar 31 13:47:38 MDT 2014 - carnold@suse.com
- Upstream bug fixes
53375bad-raise-value-error-when-no-ipaddr-set.patch
@ -72,13 +120,13 @@ Fri Mar 28 08:00:48 MDT 2014 - carnold@suse.com
virt-manager.spec
-------------------------------------------------------------------
Wed Mar 27 18:54:21 MDT 2014 - carnold@suse.com
Thu Mar 27 18:54:21 MDT 2014 - carnold@suse.com
- Virt-install is using the old legacy qemu as an emulator
virtinst-set-qemu-emulator.patch
-------------------------------------------------------------------
Wed Mar 27 08:28:21 MDT 2014 - carnold@suse.com
Thu Mar 27 08:28:21 MDT 2014 - carnold@suse.com
- Upstream bug fixes
5332ee4d-enable-media-detection-for-ISO-images.patch
@ -92,7 +140,7 @@ Wed Mar 26 16:36:28 MDT 2014 - carnold@suse.com
virtman-init-vm-processor-topology.patch
-------------------------------------------------------------------
Wed Mar 24 13:58:36 MDT 2014 - carnold@suse.com
Tue Mar 24 13:58:36 MDT 2014 - carnold@suse.com
- Make Requires of grub2-x86_64-xen conditional
@ -170,7 +218,7 @@ Fri Mar 14 11:33:09 MDT 2014 - carnold@suse.com
532255b4-unselect_all-members-before-clear-model.patch
-------------------------------------------------------------------
Tue Mar 13 08:19:52 MDT 2014 - carnold@suse.com
Thu Mar 13 08:19:52 MDT 2014 - carnold@suse.com
- Fix start_libvirtd to correctly use systemd to start libvirtd
virtman-libvirtd-not-running.patch
@ -197,7 +245,7 @@ Tue Mar 11 09:12:07 MDT 2014 - carnold@suse.com
virtman-kvm.patch
-------------------------------------------------------------------
Fri Mar 10 07:46:16 MDT 2014 - carnold@suse.com
Mon Mar 10 07:46:16 MDT 2014 - carnold@suse.com
- Upstream bug fixes
531db6a7-new-volume-tooltip-logic.patch
@ -232,7 +280,7 @@ Mon Mar 3 09:26:39 MST 2014 - carnold@suse.com
5310e52d-fix-setting-default-window-size.patch
-------------------------------------------------------------------
Wed Feb 27 08:00:39 MST 2014 - carnold@suse.com
Thu Feb 27 08:00:39 MST 2014 - carnold@suse.com
- Upstream bug fixes
53022930-lxc-connection-fix.patch
@ -254,7 +302,7 @@ Wed Feb 26 16:49:39 UTC 2014 - cbosdonnat@suse.com
- virt-manager-common requires python-libxml2
-------------------------------------------------------------------
Thu Feb 14 15:45:58 MST 2014 - carnold@suse.com
Fri Feb 14 15:45:58 MST 2014 - carnold@suse.com
- If connection is Xen, default to PV instead of HVM.
virtman-default-to-xen-pv.patch

View File

@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define with_guestfs 0
%define askpass_package "openssh-askpass"
%define qemu_user "qemu"
@ -47,28 +46,32 @@ Patch8: 533d708d-fix-showing-vcpus-values.patch
Patch9: 533d7602-fix-changing-graphics-type.patch
Patch10: 533d7be7-clarify-iscsi-IQN-fields.patch
Patch11: 5345682c-addstorage-remove-whitespace-for-storage-path.patch
Patch12: 534bcfa0-use-uniformed-expression-of-Default.patch
Patch13: 534be092-early-detect-ftp-connection-errors.patch
Patch14: 534d45db-hiding-removebutton-for-USB-controller.patch
Patch15: 534d6406-display-the-domain-for-PCI-devices.patch
Patch16: 534eafe4-avoid-useless-errors-when-connection-closes.patch
Patch17: 5350d9cc-display-error-on-empty-installation-URL.patch
Patch18: 535584ed-fix-target-validation-when-editing-device.patch
Patch50: virtman-desktop.patch
Patch51: virtman-cdrom.patch
Patch52: virtman-kvm.patch
Patch53: virtman-keycombo.patch
Patch60: virtman-device-flags.patch
Patch61: virtman-autorestart.patch
Patch62: virtman-eepro100.patch
Patch63: virtman-qed.patch
Patch64: virtman-update-backend.patch
Patch65: virtman-slow-mouse.patch
Patch66: virtman-reverse-serialcon.patch
Patch67: virtman-default-guest-from-host-os.patch
Patch68: virtman-default-to-xen-pv.patch
Patch69: virtman-autoyast-support.patch
Patch70: virtman-vminstall.patch
Patch71: virtman-show-suse-install-repos.patch
Patch72: virtman-packages.patch
Patch73: virtman-load-stored-uris.patch
Patch74: virtman-libvirtd-not-running.patch
Patch75: virtman-stable-os-support.patch
Patch76: virtman-add-s390x-arch-support.patch
Patch150: virtinst-cdrom.patch
Patch54: virtman-eepro100.patch
Patch55: virtman-qed.patch
Patch56: virtman-device-flags.patch
Patch57: virtman-autorestart.patch
Patch60: virtman-default-guest-from-host-os.patch
Patch61: virtman-default-to-xen-pv.patch
Patch62: virtman-autoyast-support.patch
Patch63: virtman-vminstall.patch
Patch64: virtman-show-suse-install-repos.patch
Patch65: virtman-packages.patch
Patch66: virtman-load-stored-uris.patch
Patch67: virtman-libvirtd-not-running.patch
Patch68: virtman-stable-os-support.patch
Patch69: virtman-add-s390x-arch-support.patch
Patch70: virtman-shutdown-with-acpi-button.patch
Patch151: virtinst-storage-ocfs2.patch
Patch152: virtinst-qed.patch
Patch153: virtinst-support-suse-distros.patch
@ -79,6 +82,7 @@ Patch157: virtinst-pvgrub2-bootloader.patch
Patch158: virtinst-set-qemu-emulator.patch
Patch159: virtinst-vol-default-nocow.patch
Patch160: virtinst-detect-windows-media.patch
Patch161: virtinst-xenbus-disk-index-fix.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -178,10 +182,21 @@ machine).
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
@ -193,13 +208,6 @@ machine).
%patch68 -p1
%patch69 -p1
%patch70 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch76 -p1
#%patch150 -p1 use 'c' for cdrom
%patch151 -p1
%patch152 -p1
%patch153 -p1
@ -210,6 +218,7 @@ machine).
%patch158 -p1
%patch159 -p1
%patch160 -p1
%patch161 -p1
%build
%if %{qemu_user}

View File

@ -1,20 +0,0 @@
Index: virt-manager-0.10.1/virtinst/devicedisk.py
===================================================================
--- virt-manager-0.10.1.orig/virtinst/devicedisk.py
+++ virt-manager-0.10.1/virtinst/devicedisk.py
@@ -848,6 +848,15 @@ class VirtualDisk(VirtualDevice):
if gen_t in skip_targets:
skip_targets.remove(gen_t)
continue
+ else:
+ if self.device != self.DEVICE_CDROM:
+ if i != ord('c') - ord('a'):
+ self.target = gen_t
+ return gen_t
+ else:
+ if i >= ord('c') - ord('a'):
+ self.target = gen_t
+ return gen_t
if not skip_targets:
return gen_t
elif not first_found:

View File

@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
@@ -296,6 +296,81 @@ def _distroFromTreeinfo(fetcher, arch, v
@@ -303,6 +303,81 @@ def _distroFromTreeinfo(fetcher, arch, v
return ob
@ -84,7 +84,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
def getDistroStore(guest, fetcher):
stores = []
@@ -312,6 +387,10 @@ def getDistroStore(guest, fetcher):
@@ -319,6 +394,10 @@ def getDistroStore(guest, fetcher):
if dist:
return dist
@ -95,7 +95,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
# FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os
# dictionary, so would look like 'fedora9' or 'rhel5', so this needs
# to be a bit more intelligent
@@ -808,12 +887,11 @@ class SLDistro(RHELDistro):
@@ -815,12 +894,11 @@ class SLDistro(RHELDistro):
class SuseDistro(Distro):
name = "SUSE"
@ -109,7 +109,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
Distro.__init__(self, *args, **kwargs)
if re.match(r'i[4-9]86', self.arch):
self.arch = 'i386'
@@ -824,22 +902,44 @@ class SuseDistro(Distro):
@@ -831,22 +909,44 @@ class SuseDistro(Distro):
oldkern += "64"
oldinit += "64"
@ -164,7 +164,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
return True
def _get_method_arg(self):
@@ -860,6 +960,27 @@ class SuseDistro(Distro):
@@ -867,6 +967,27 @@ class SuseDistro(Distro):
return name
return self.os_variant

View File

@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
@@ -372,6 +372,24 @@ def _distroFromContent(fetcher, arch, vm
@@ -379,6 +379,24 @@ def _distroFromContent(fetcher, arch, vm
return ob
@ -27,7 +27,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
def getDistroStore(guest, fetcher):
stores = []
logging.debug("Finding distro store for location=%s", fetcher.location)
@@ -391,6 +409,10 @@ def getDistroStore(guest, fetcher):
@@ -398,6 +416,10 @@ def getDistroStore(guest, fetcher):
if dist:
return dist
@ -38,7 +38,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
# FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os
# dictionary, so would look like 'fedora9' or 'rhel5', so this needs
# to be a bit more intelligent
@@ -1137,6 +1159,13 @@ class ALTLinuxDistro(Distro):
@@ -1144,6 +1166,13 @@ class ALTLinuxDistro(Distro):
logging.debug("Regex didn't match, not a %s distro", self.name)
return False
@ -67,7 +67,7 @@ Index: virt-manager-1.0.1/virtinst/osdict.py
-_add_var("win7", "Microsoft Windows 7 (or later)", supported=True, sortby="mswin7", parent="windows")
+_add_var("win7", "Microsoft Windows 7", supported=True, sortby="mswin7", parent="windows")
+_add_var("win8", "Microsoft Windows 8 (or later)", supported=True, sortby="mswin8", parent="windows")
+_add_var("win-unknown", "Unknown", supported=True, sortby="mswin", parent="windows")
+_add_var("win-unknown", "Microsoft Windows Unknown Version", supported=True, sortby="mswin", parent="windows")
_add_type("solaris", "Solaris", clock="localtime")

View File

@ -9,16 +9,16 @@ Index: virt-manager-1.0.1/virtinst/osdict.py
-_add_var("opensuse11", "openSuse 11", urldistro="suse", supported=True, virtiodisk=True, virtionet=True, parent="linux")
-_add_var("opensuse12", "openSuse 12 (or later)", parent="opensuse11")
+_add_var("opensuse11", "openSUSE 11", urldistro="opensuse", supported=True, virtiodisk=True, virtionet=True, parent="linux")
+_add_var("opensuse12", "openSUSE 12", parent="opensuse11")
+_add_var("opensuse12", "openSUSE 12", inputtype="tablet", inputbus="usb", parent="opensuse11")
+_add_var("opensuse13", "openSUSE 13 (or later)", parent="opensuse12")
+
+_add_var("sles", "Suse Linux Enterprise Server", urldistro="suse", supported=True, parent="linux")
+_add_var("sles10", "Suse Linux Enterprise Server 10", supported=True, virtiodisk=True, virtionet=True, parent="sles")
+_add_var("sles11", "Suse Linux Enterprise Server 11", supported=True, virtiodisk=True, virtionet=True, parent="sles10")
+_add_var("sles11", "Suse Linux Enterprise Server 11", supported=True, virtiodisk=True, virtionet=True, inputtype="tablet", inputbus="usb", parent="sles10")
+_add_var("sles12", "Suse Linux Enterprise Server 12 (or later)", supported=True, virtiodisk=True, virtionet=True, parent="sles11")
+
+_add_var("sled10", "Suse Linux Enterprise Desktop 10", supported=True, virtiodisk=True, virtionet=True, parent="sles10")
+_add_var("sled11", "Suse Linux Enterprise Desktop 11", supported=True, virtiodisk=True, virtionet=True, parent="sles11")
+_add_var("sled11", "Suse Linux Enterprise Desktop 11", supported=True, virtiodisk=True, virtionet=True, inputtype="tablet", inputbus="usb", parent="sles11")
+_add_var("sled12", "Suse Linux Enterprise Desktop 12 (or later)", supported=True, virtiodisk=True, virtionet=True, parent="sles12")
-_add_var("sles10", "Suse Linux Enterprise Server", urldistro="suse", supported=True, parent="linux")

View File

@ -0,0 +1,34 @@
bnc#872789
--- virt-manager-1.0.1/virtinst/devicedisk.py.orig 2014-04-14 11:41:36.904354483 -0600
+++ virt-manager-1.0.1/virtinst/devicedisk.py 2014-04-14 11:45:39.565744657 -0600
@@ -931,6 +931,15 @@ class VirtualDisk(VirtualDevice):
@rtype C{str}
"""
prefix, maxnode = self.get_target_prefix(skip_targets)
+ postfix_targets = []
+ if self.conn.is_xen():
+ prefixes = [ "hd", "xvd", "vd", "sd", "fd" ]
+ for x in skip_targets:
+ for p in prefixes:
+ found = x.split(p,1)
+ if found and len(found) == 2:
+ postfix_targets.append(found[1])
+ break
skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
skip_targets.sort()
@@ -944,7 +953,12 @@ class VirtualDisk(VirtualDevice):
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
for i in ran:
- gen_t = prefix + self.num_to_target(i + 1)
+ postfix = self.num_to_target(i + 1)
+ gen_t = prefix + postfix
+ if self.conn.is_xen() and postfix in postfix_targets:
+ if gen_t in skip_targets:
+ skip_targets.remove(gen_t)
+ continue
if gen_t in skip_targets:
skip_targets.remove(gen_t)
continue

View File

@ -37,7 +37,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
# Get previous
type_row = self._selected_os_row()
if not type_row:
@@ -1588,7 +1611,10 @@ class vmmCreate(vmmGObjectUI):
@@ -1589,7 +1612,10 @@ class vmmCreate(vmmGObjectUI):
if extra:
extraargs += extra
if ks:
@ -49,7 +49,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
if extraargs:
self.guest.installer.extraargs = extraargs
@@ -1984,6 +2010,7 @@ class vmmCreate(vmmGObjectUI):
@@ -1985,6 +2011,7 @@ class vmmCreate(vmmGObjectUI):
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
self.set_distro_labels(dl, vl)

View File

@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/addhardware.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/addhardware.py
+++ virt-manager-1.0.1/virtManager/addhardware.py
@@ -1276,6 +1276,18 @@ class vmmAddHardware(vmmGObjectUI):
@@ -1280,6 +1280,18 @@ class vmmAddHardware(vmmGObjectUI):
if controller is not None:
logging.debug("Adding controller:\n%s",
controller.get_xml_config())

View File

@ -1,20 +0,0 @@
Reverses upstream patch: serialcon: Don't open a console with name=None
Git: ce94126b707f157d88de113a8c591e628d55db63
bnc#780859
Index: virt-manager-0.10.1/virtManager/serialcon.py
===================================================================
--- virt-manager-0.10.1.orig/virtManager/serialcon.py
+++ virt-manager-0.10.1/virtManager/serialcon.py
@@ -207,8 +207,9 @@ class LibvirtConsoleConnection(ConsoleCo
name = dev and dev.alias.name or None
logging.debug("Opening console stream for dev=%s alias=%s",
dev, name)
- if not name:
- raise RuntimeError(_("Cannot open a device with no alias name"))
+ # bnc#780859
+ #if not name:
+ # raise RuntimeError(_("Cannot open a device with no alias name"))
stream = self.conn.get_backend().newStream(libvirt.VIR_STREAM_NONBLOCK)
self.vm.open_console(name, stream)

View File

@ -0,0 +1,19 @@
bnc#872777
Index: virt-manager-1.0.1/virtManager/domain.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/domain.py
+++ virt-manager-1.0.1/virtManager/domain.py
@@ -1330,7 +1330,11 @@ class vmmDomain(vmmLibvirtObject):
def shutdown(self):
self._install_abort = True
self._unregister_reboot_listener()
- self._backend.shutdown()
+ try:
+ self._backend.shutdown()
+ except libvirt.libvirtError:
+ logging.debug("Initial shutdown failed. Attempting shutdown with acpi power button")
+ self._backend.shutdownFlags(libvirt.VIR_DOMAIN_SHUTDOWN_ACPI_POWER_BTN)
self.idle_add(self.force_update_status)
def reboot(self):

View File

@ -1,30 +0,0 @@
This patch reverses the commit described below. The commit causes a serious
mouse tracking slowdown. See bnc#731218.
Subject: manager: Properly show vm desc in tooltip w/ special xml characters
From: Cole Robinson crobinso@redhat.com Mon Sep 26 11:05:55 2011 -0400
Date: Mon Sep 26 11:07:52 2011 -0400:
Git: 0a7640c593a54a6a3f558583d82f8b27c7a7d1d1
Index: virt-manager-0.10.1/virtManager/manager.py
===================================================================
--- virt-manager-0.10.1.orig/virtManager/manager.py
+++ virt-manager-0.10.1/virtManager/manager.py
@@ -676,7 +676,7 @@ class vmmManager(vmmGObjectUI):
row.insert(ROW_SORT_KEY, name)
row.insert(ROW_MARKUP, markup)
row.insert(ROW_STATUS_ICON, status_icon)
- row.insert(ROW_HINT, util.xml_escape(hint))
+ row.insert(ROW_HINT, hint)
row.insert(ROW_IS_CONN, bool(conn))
row.insert(ROW_IS_CONN_CONNECTED,
bool(conn) and conn.state != conn.STATE_DISCONNECTED)
@@ -789,7 +789,7 @@ class vmmManager(vmmGObjectUI):
desc = vm.get_description()
if not uiutil.can_set_row_none:
desc = desc or ""
- row[ROW_HINT] = util.xml_escape(desc)
+ row[ROW_HINT] = desc
except libvirt.libvirtError, e:
if util.exception_is_libvirt_error(e, "VIR_ERR_NO_DOMAIN"):
return

View File

@ -1,20 +0,0 @@
Index: virt-manager-1.0.1/virtManager/domain.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/domain.py
+++ virt-manager-1.0.1/virtManager/domain.py
@@ -1892,7 +1892,14 @@ class vmmDomain(vmmLibvirtObject):
info = []
if not self._using_events() or self._enable_cpu_stats:
- info = self._backend.info()
+ try:
+ info = self._backend.info()
+ except:
+ self._backend = self.conn.vmm.lookupByName(self.get_name())
+ info = self._backend.info()
+ if info[0] == libvirt.VIR_DOMAIN_NOSTATE:
+ self._backend = self.conn.vmm.lookupByName(self.get_name())
+ info = self._backend.info()
if stats_update:
self._tick_stats(info)

View File

@ -1,7 +1,7 @@
Index: virt-manager-1.0.0/ui/manager.ui
Index: virt-manager-1.0.1/ui/manager.ui
===================================================================
--- virt-manager-1.0.0.orig/ui/manager.ui
+++ virt-manager-1.0.0/ui/manager.ui
--- virt-manager-1.0.1.orig/ui/manager.ui
+++ virt-manager-1.0.1/ui/manager.ui
@@ -277,7 +277,7 @@
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
@ -19,10 +19,10 @@ Index: virt-manager-1.0.0/ui/manager.ui
</packing>
</child>
<child>
Index: virt-manager-1.0.0/virtManager/manager.py
Index: virt-manager-1.0.1/virtManager/manager.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/manager.py
+++ virt-manager-1.0.0/virtManager/manager.py
--- virt-manager-1.0.1.orig/virtManager/manager.py
+++ virt-manager-1.0.1/virtManager/manager.py
@@ -95,6 +95,7 @@ class vmmManager(vmmGObjectUI):
"action-show-host": (GObject.SignalFlags.RUN_FIRST, None, [str]),
"action-show-preferences": (GObject.SignalFlags.RUN_FIRST, None, []),
@ -51,10 +51,10 @@ Index: virt-manager-1.0.0/virtManager/manager.py
def show_about(self, src_ignore):
self.emit("action-show-about")
Index: virt-manager-1.0.0/virtManager/vmmenu.py
Index: virt-manager-1.0.1/virtManager/vmmenu.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/vmmenu.py
+++ virt-manager-1.0.0/virtManager/vmmenu.py
--- virt-manager-1.0.1.orig/virtManager/vmmenu.py
+++ virt-manager-1.0.1/virtManager/vmmenu.py
@@ -21,9 +21,28 @@
# pylint: disable=E0611
from gi.repository import Gtk
@ -84,10 +84,10 @@ Index: virt-manager-1.0.0/virtManager/vmmenu.py
# Build toolbar shutdown button menu (manager and details toolbar) #
####################################################################
Index: virt-manager-1.0.0/virtManager/config.py
Index: virt-manager-1.0.1/virtManager/config.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/config.py
+++ virt-manager-1.0.0/virtManager/config.py
--- virt-manager-1.0.1.orig/virtManager/config.py
+++ virt-manager-1.0.1/virtManager/config.py
@@ -191,6 +191,13 @@ class vmmConfig(object):
# General app wide helpers (gconf agnostic)
@ -102,10 +102,10 @@ Index: virt-manager-1.0.0/virtManager/config.py
def get_appname(self):
return self.appname
def get_appversion(self):
Index: virt-manager-1.0.0/virtManager/engine.py
Index: virt-manager-1.0.1/virtManager/engine.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/engine.py
+++ virt-manager-1.0.0/virtManager/engine.py
--- virt-manager-1.0.1.orig/virtManager/engine.py
+++ virt-manager-1.0.1/virtManager/engine.py
@@ -25,9 +25,12 @@ from gi.repository import Gtk
# pylint: enable=E0611
@ -152,7 +152,7 @@ Index: virt-manager-1.0.0/virtManager/engine.py
+
+ def _do_show_create(self, src, uri, use_vminstall=False):
+ if uri is None:
+ uri = default_uri()
+ uri = vmmConnect.default_uri(always_system=True)
+ conn = self._lookup_conn(uri)
+ do_remote = conn.is_remote()
+ if self.windowCreate == None or do_remote != self.remote_install: