diff --git a/virt-manager.changes b/virt-manager.changes index e319319d..6948113f 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Jan 5 10:55:44 MST 2012 - carnold@novell.com + +- console: Fix hang when reconnecting to remote VNC console + virtman-git-reconnect.diff +- KVM: Enable support for SATA bus option + virtman-git-sata-support.diff + virtinst-git-sata-support.diff + ------------------------------------------------------------------- Mon Dec 5 11:38:54 MST 2011 - carnold@novell.com diff --git a/virt-manager.spec b/virt-manager.spec index 01162519..9015b8b9 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -1,7 +1,7 @@ # -# spec file for package virt-manager (Version 0.9.0) +# spec file for package virt-manager # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 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 @@ -15,8 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - %define _extra_release %{?dist:%{dist}}%{!?dist:%{?extra_release:%{extra_release}}} %define gsysconfdir /etc %define gconftool /usr/bin/gconftool-2 @@ -29,15 +27,17 @@ Name: virt-manager Summary: Virtual Machine Manager -Version: 0.9.0 -Release: 1 -Group: System/Monitoring License: GPL-2.0+ +Group: System/Monitoring +Version: 0.9.0 +Release: 0 Url: http://virt-manager.et.redhat.com Source0: virt-manager-%{version}.tar.bz2 Source1: %{virtinst_name}.tar.bz2 # see https://bugzilla.redhat.com/show_bug.cgi?id=620216, # https://bugzilla.novell.com/show_bug.cgi?id=641981 +Patch0: virtman-git-reconnect.diff +Patch1: virtman-git-sata-support.diff Patch50: virtman-desktop.diff Patch51: virtman-vminstall.diff Patch52: virtman-cdrom.diff @@ -52,6 +52,7 @@ Patch63: virtman-eepro100.diff Patch64: virtman-qed.diff Patch65: virtman-update-backend.diff Patch66: virtman-reverse-git-tooltip.patch +Patch100: virtinst-git-sata-support.diff Patch150: virtinst-cdrom.diff Patch151: virtinst-storage-ocfs2.diff Patch152: virtinst-qed.diff @@ -60,11 +61,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %gconf_schemas_prereq # #rpmlint BuildRequires: python -BuildRequires: gtk2-devel -BuildRequires: python-devel BuildRequires: gettext -BuildRequires: scrollkeeper +BuildRequires: gtk2-devel BuildRequires: intltool +BuildRequires: python-devel +BuildRequires: scrollkeeper #rpmlint BuildRequires: python-gtk BuildRequires: python-gtk-devel BuildRequires: python-gobject2-devel @@ -136,6 +137,8 @@ Authors: %prep %setup -q %setup -b 1 +%patch0 -p1 +%patch1 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -151,6 +154,7 @@ Authors: %patch65 -p1 %patch66 -p1 pushd $RPM_BUILD_DIR/%{virtinst_name} +%patch100 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 diff --git a/virtinst-git-sata-support.diff b/virtinst-git-sata-support.diff new file mode 100644 index 00000000..b9b183e9 --- /dev/null +++ b/virtinst-git-sata-support.diff @@ -0,0 +1,90 @@ + +Subject: VirtualDisk: Support sata bus +From: Jim Fehlig jfehlig@suse.com Thu Dec 22 13:16:04 2011 -0500 +Date: Thu Dec 22 13:16:04 2011 -0500: +Git: 580457e92453a0668cce1a65943040a8e919a7f5 + +(crobinso: add a cli test) + +Index: virtinst-0.600.0/man/en/virt-install.1 +=================================================================== +--- virtinst-0.600.0.orig/man/en/virt-install.1 ++++ virtinst-0.600.0/man/en/virt-install.1 +@@ -532,9 +532,9 @@ Disk device type. Value can be 'cdrom', + cdrom is used as the install media. + .IP "\fBbus\fR" 4 + .IX Item "bus" +-Disk bus type. Value can be 'ide', 'scsi', 'usb', 'virtio' or 'xen'. The +-default is hypervisor dependent since not all hypervisors support all bus +-types. ++Disk bus type. Value can be 'ide', 'sata', 'scsi', 'usb', 'virtio' or 'xen'. ++The default is hypervisor dependent since not all hypervisors support all ++bus types. + .IP "\fBperms\fR" 4 + .IX Item "perms" + Disk permissions. Value can be 'rw' (Read/Write), 'ro' (Readonly), +Index: virtinst-0.600.0/man/en/virt-install.pod.in +=================================================================== +--- virtinst-0.600.0.orig/man/en/virt-install.pod.in ++++ virtinst-0.600.0/man/en/virt-install.pod.in +@@ -420,9 +420,9 @@ cdrom is used as the install media. + + =item B + +-Disk bus type. Value can be 'ide', 'scsi', 'usb', 'virtio' or 'xen'. The +-default is hypervisor dependent since not all hypervisors support all bus +-types. ++Disk bus type. Value can be 'ide', 'sata', 'scsi', 'usb', 'virtio' or 'xen'. ++The default is hypervisor dependent since not all hypervisors support all ++bus types. + + =item B + +Index: virtinst-0.600.0/tests/cli-test-xml/compare/many-devices.xml +=================================================================== +--- virtinst-0.600.0.orig/tests/cli-test-xml/compare/many-devices.xml ++++ virtinst-0.600.0/tests/cli-test-xml/compare/many-devices.xml +@@ -35,7 +35,7 @@ + + + +- ++ + + + +@@ -116,7 +116,7 @@ + + + +- ++ + + + +Index: virtinst-0.600.0/tests/clitest.py +=================================================================== +--- virtinst-0.600.0.orig/tests/clitest.py ++++ virtinst-0.600.0/tests/clitest.py +@@ -606,7 +606,7 @@ args_dict = { + "--controller usb,model=ich9-uhci3,address=0:0:4.2,index=0,master=4 " + "--disk %(EXISTIMG1)s,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149 " + "--disk %(NEWIMG1)s,sparse=false,size=.001,perms=ro,error_policy=enospace " +- "--disk device=cdrom " ++ "--disk device=cdrom,bus=sata " + "--serial tcp,host=:2222,mode=bind,protocol=telnet " + "--filesystem /source,/target,mode=squash " + "--network user,mac=12:34:56:78:11:22 " +Index: virtinst-0.600.0/virtinst/VirtualDisk.py +=================================================================== +--- virtinst-0.600.0.orig/virtinst/VirtualDisk.py ++++ virtinst-0.600.0/virtinst/VirtualDisk.py +@@ -1682,7 +1682,7 @@ class VirtualDisk(VirtualDevice): + # error as appropriate. + if self.bus == "virtio": + return ("vd", 1024) +- elif self.bus == "scsi" or self.bus == "usb": ++ elif self.bus in ["sata", "scsi", "usb"]: + return ("sd", 1024) + elif self.bus == "xen": + return ("xvd", 1024) diff --git a/virtman-cdrom.diff b/virtman-cdrom.diff index e34e8be8..fb22caf8 100644 --- a/virtman-cdrom.diff +++ b/virtman-cdrom.diff @@ -2,9 +2,9 @@ Index: virt-manager-0.9.0/src/virtManager/addhardware.py =================================================================== --- virt-manager-0.9.0.orig/src/virtManager/addhardware.py +++ virt-manager-0.9.0/src/virtManager/addhardware.py -@@ -518,6 +518,7 @@ class vmmAddHardware(vmmGObjectUI): - if self.vm.get_hv_type() == "kvm": - add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk") +@@ -519,6 +519,7 @@ class vmmAddHardware(vmmGObjectUI): + add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk") + add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk") if self.conn.is_xen(): + add_dev("xen", virtinst.VirtualDisk.DEVICE_CDROM, "Virtual disk (read only)") add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk") diff --git a/virtman-device-flags.diff b/virtman-device-flags.diff index 8fda37f0..ba416fe8 100644 --- a/virtman-device-flags.diff +++ b/virtman-device-flags.diff @@ -2,7 +2,7 @@ Index: virt-manager-0.9.0/src/virtManager/addhardware.py =================================================================== --- virt-manager-0.9.0.orig/src/virtManager/addhardware.py +++ virt-manager-0.9.0/src/virtManager/addhardware.py -@@ -1069,6 +1069,18 @@ class vmmAddHardware(vmmGObjectUI): +@@ -1070,6 +1070,18 @@ class vmmAddHardware(vmmGObjectUI): self._dev.get_xml_config() logging.debug("Adding device:\n" + self._dev.get_xml_config()) diff --git a/virtman-git-reconnect.diff b/virtman-git-reconnect.diff new file mode 100644 index 00000000..17075974 --- /dev/null +++ b/virtman-git-reconnect.diff @@ -0,0 +1,30 @@ + +Subject: console: Fix hang when reconnecting to remote VNC console +From: Cole Robinson crobinso@redhat.com Thu Dec 22 12:55:40 2011 -0500 +Date: Thu Dec 22 12:55:40 2011 -0500: +Git: becf776d6af3455f6c89396e3ccc330cd2c85434 + +VNC disconnect signals aren't being delivered, meaning we never cleanup +up SSH tunnels for remote VNC connections. This causes a reconnect +attempt to hang, trying to reuse the existing tunnels (which doesn't +work). + +The problem is that we are cleaning up the VNC widget too early, +unregistering callbacks before they get a chance to be invoked. + +Not cleaning up only causes a small memory leak for every console we +open, so only a minor problem compared to the original issue. A more +involved fix is required to clean up safely. + +Index: virt-manager-0.9.0/src/virtManager/console.py +=================================================================== +--- virt-manager-0.9.0.orig/src/virtManager/console.py ++++ virt-manager-0.9.0/src/virtManager/console.py +@@ -850,7 +850,6 @@ class vmmConsolePages(vmmGObjectUI): + viewport.remove(w) + + v.close() +- v.cleanup() + self.viewer_connected = False + self.leave_fullscreen() + diff --git a/virtman-git-sata-support.diff b/virtman-git-sata-support.diff new file mode 100644 index 00000000..c39f5fbf --- /dev/null +++ b/virtman-git-sata-support.diff @@ -0,0 +1,42 @@ + +Subject: addhw: Add SATA disk bus option +From: Jim Fehlig jfehlig@suse.com Thu Dec 22 13:18:40 2011 -0500 +Date: Thu Dec 22 13:18:40 2011 -0500: +Git: 42a871984f007daa8de148afc2763e9697356493 + + +Index: virt-manager-0.9.0/src/virtManager/addhardware.py +=================================================================== +--- virt-manager-0.9.0.orig/src/virtManager/addhardware.py ++++ virt-manager-0.9.0/src/virtManager/addhardware.py +@@ -516,7 +516,8 @@ class vmmAddHardware(vmmGObjectUI): + add_dev("scsi", virtinst.VirtualDisk.DEVICE_DISK, "SCSI disk") + add_dev("usb", virtinst.VirtualDisk.DEVICE_DISK, "USB disk") + if self.vm.get_hv_type() == "kvm": +- add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk") ++ add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk") ++ add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk") + if self.conn.is_xen(): + add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk") + +Index: virt-manager-0.9.0/src/virtManager/details.py +=================================================================== +--- virt-manager-0.9.0.orig/src/virtManager/details.py ++++ virt-manager-0.9.0/src/virtManager/details.py +@@ -134,7 +134,7 @@ PAGE_DETAILS = 1 + PAGE_DYNAMIC_OFFSET = 2 + + def prettyify_disk_bus(bus): +- if bus in ["ide", "scsi", "usb"]: ++ if bus in ["ide", "sata", "scsi", "usb"]: + return bus.upper() + + if bus in ["xen"]: +@@ -3202,6 +3202,7 @@ class vmmDetails(vmmGObjectUI): + buses.append(["scsi", "SCSI"]) + buses.append(["usb", "USB"]) + if self.vm.get_hv_type() == "kvm": ++ buses.append(["sata", "SATA"]) + buses.append(["virtio", "Virtio"]) + if self.vm.conn.is_xen(): + buses.append(["xen", "Xen"])