- bnc#801988 - virt-manager requires for vtemodule.so wrong on s390x
virt-manager.spec - bnc#801987 - virt-manager is not able to create new VM in qemu Updated virtman-vminstall.diff - fate##314135: Support PVSCSI on XEN and VirtioSCSI on KVM - Implement pass through block device - fate##313076: HBA passthrough for kvm virtman-git-scsi.diff virtman-git-scsi-lun.diff OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=111
This commit is contained in:
parent
b24018f586
commit
9bd84112f9
@ -1,3 +1,24 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 4 12:41:13 MST 2013 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#801988 - virt-manager requires for vtemodule.so wrong on s390x
|
||||||
|
virt-manager.spec
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 4 10:10:30 MST 2013 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#801987 - virt-manager is not able to create new VM in qemu
|
||||||
|
Updated virtman-vminstall.diff
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 31 15:32:00 MST 2013 - carnold@suse.com
|
||||||
|
|
||||||
|
- fate##314135: Support PVSCSI on XEN and VirtioSCSI on KVM -
|
||||||
|
Implement pass through block device
|
||||||
|
- fate##313076: HBA passthrough for kvm
|
||||||
|
virtman-git-scsi.diff
|
||||||
|
virtman-git-scsi-lun.diff
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jan 2 14:12:13 MST 2013 - carnold@novell.com
|
Wed Jan 2 14:12:13 MST 2013 - carnold@novell.com
|
||||||
|
|
||||||
|
@ -32,6 +32,8 @@ Version: 0.9.4
|
|||||||
Release: 0
|
Release: 0
|
||||||
Url: http://virt-manager.et.redhat.com
|
Url: http://virt-manager.et.redhat.com
|
||||||
Source0: virt-manager-%{version}.tar.bz2
|
Source0: virt-manager-%{version}.tar.bz2
|
||||||
|
Patch0: virtman-git-scsi.diff
|
||||||
|
Patch1: virtman-git-scsi-lun.diff
|
||||||
Patch50: virtman-desktop.diff
|
Patch50: virtman-desktop.diff
|
||||||
Patch51: virtman-vminstall.diff
|
Patch51: virtman-vminstall.diff
|
||||||
Patch52: virtman-cdrom.diff
|
Patch52: virtman-cdrom.diff
|
||||||
@ -65,10 +67,10 @@ Requires: gnome-keyring
|
|||||||
Requires: libvirt-python >= 0.7.0
|
Requires: libvirt-python >= 0.7.0
|
||||||
Requires: libxml2-python >= 2.6.23
|
Requires: libxml2-python >= 2.6.23
|
||||||
Requires: vm-install >= 0.5.6
|
Requires: vm-install >= 0.5.6
|
||||||
%ifarch x86_64
|
%ifarch %{ix86}
|
||||||
Requires: vtemodule.so()(64bit)
|
|
||||||
%else
|
|
||||||
Requires: vtemodule.so
|
Requires: vtemodule.so
|
||||||
|
%else
|
||||||
|
Requires: vtemodule.so()(64bit)
|
||||||
%endif
|
%endif
|
||||||
Requires: librsvg
|
Requires: librsvg
|
||||||
Requires: netcat-openbsd
|
Requires: netcat-openbsd
|
||||||
@ -99,6 +101,8 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
%patch50 -p1
|
%patch50 -p1
|
||||||
%patch51 -p1
|
%patch51 -p1
|
||||||
%patch52 -p1
|
%patch52 -p1
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Index: virt-manager-0.9.3/src/virtManager/addhardware.py
|
Index: virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/addhardware.py
|
--- virt-manager-0.9.4.orig/src/virtManager/addhardware.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/addhardware.py
|
+++ virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
@@ -540,6 +540,7 @@ class vmmAddHardware(vmmGObjectUI):
|
@@ -547,6 +547,7 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk")
|
add_dev("virtio-scsi", virtinst.VirtualDisk.DEVICE_LUN,
|
||||||
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk")
|
_("Virtio SCSI lun"))
|
||||||
if self.conn.is_xen():
|
if self.conn.is_xen():
|
||||||
+ add_dev("xen", virtinst.VirtualDisk.DEVICE_CDROM, "Virtual disk (read only)")
|
+ add_dev("xen", virtinst.VirtualDisk.DEVICE_CDROM, "Virtual disk (read only)")
|
||||||
add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk")
|
add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk")
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
Index: virt-manager-0.9.3/src/virtManager/addhardware.py
|
Index: virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/addhardware.py
|
--- virt-manager-0.9.4.orig/src/virtManager/addhardware.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/addhardware.py
|
+++ virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
@@ -1152,6 +1152,18 @@ class vmmAddHardware(vmmGObjectUI):
|
@@ -1163,6 +1163,19 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
self._dev.get_xml_config()
|
if controller is not None:
|
||||||
logging.debug("Adding device:\n" + self._dev.get_xml_config())
|
logging.debug("Adding controller:\n%s",
|
||||||
|
self._dev.vmm_controller.get_xml_config())
|
||||||
|
+
|
||||||
+ # If vm is active, Try to hotplug the device and modify persistent
|
+ # If vm is active, Try to hotplug the device and modify persistent
|
||||||
+ # config in one go
|
+ # config in one go
|
||||||
+ if self.vm.is_active():
|
+ if self.vm.is_active():
|
||||||
@ -21,10 +22,10 @@ Index: virt-manager-0.9.3/src/virtManager/addhardware.py
|
|||||||
# Hotplug device
|
# Hotplug device
|
||||||
attach_err = False
|
attach_err = False
|
||||||
try:
|
try:
|
||||||
Index: virt-manager-0.9.3/src/virtManager/details.py
|
Index: virt-manager-0.9.4/src/virtManager/details.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/details.py
|
--- virt-manager-0.9.4.orig/src/virtManager/details.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/details.py
|
+++ virt-manager-0.9.4/src/virtManager/details.py
|
||||||
@@ -2385,6 +2385,17 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2385,6 +2385,17 @@ class vmmDetails(vmmGObjectUI):
|
||||||
text1=(_("Are you sure you want to remove this device?"))):
|
text1=(_("Are you sure you want to remove this device?"))):
|
||||||
return
|
return
|
||||||
@ -43,10 +44,10 @@ Index: virt-manager-0.9.3/src/virtManager/details.py
|
|||||||
# Define the change
|
# Define the change
|
||||||
try:
|
try:
|
||||||
self.vm.remove_device(dev_id_info)
|
self.vm.remove_device(dev_id_info)
|
||||||
Index: virt-manager-0.9.3/src/virtManager/domain.py
|
Index: virt-manager-0.9.4/src/virtManager/domain.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/domain.py
|
--- virt-manager-0.9.4.orig/src/virtManager/domain.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/domain.py
|
+++ virt-manager-0.9.4/src/virtManager/domain.py
|
||||||
@@ -757,6 +757,10 @@ class vmmDomain(vmmLibvirtObject):
|
@@ -757,6 +757,10 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
devxml = devobj.get_xml_config()
|
devxml = devobj.get_xml_config()
|
||||||
self._backend.attachDevice(devxml)
|
self._backend.attachDevice(devxml)
|
||||||
|
33
virtman-git-scsi-lun.diff
Normal file
33
virtman-git-scsi-lun.diff
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
Subject: Add virtio lun and virtio-scsi lun disk bus option
|
||||||
|
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Tue Dec 11 17:06:38 2012 +0800
|
||||||
|
Date: Fri Dec 14 19:21:35 2012 -0500:
|
||||||
|
Git: 8b22d7a763acab05558f36818b8f890c4b428c1d
|
||||||
|
|
||||||
|
As a result of CVE-2011-4127, libvirt disabled generic SCSI
|
||||||
|
commands passed through to the underlying disk by qemu
|
||||||
|
from a guest to a virtio disk when device type is "disk"
|
||||||
|
afer commit 177db087757e4adb02c211de56336a5991c8eb20.
|
||||||
|
And libvirt introduce a new device type "lun"
|
||||||
|
to allow SG_IO commands passing through.
|
||||||
|
This patch allows VM admin to configure this via virt-manager.
|
||||||
|
|
||||||
|
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
|
|
||||||
|
Index: virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-0.9.4.orig/src/virtManager/addhardware.py
|
||||||
|
+++ virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
|
@@ -540,8 +540,12 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
if self.vm.get_hv_type() == "kvm":
|
||||||
|
add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk")
|
||||||
|
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk")
|
||||||
|
+ add_dev("virtio", virtinst.VirtualDisk.DEVICE_LUN,
|
||||||
|
+ _("Virtio lun"))
|
||||||
|
add_dev("virtio-scsi", virtinst.VirtualDisk.DEVICE_DISK,
|
||||||
|
_("Virtio SCSI disk"))
|
||||||
|
+ add_dev("virtio-scsi", virtinst.VirtualDisk.DEVICE_LUN,
|
||||||
|
+ _("Virtio SCSI lun"))
|
||||||
|
if self.conn.is_xen():
|
||||||
|
add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk")
|
||||||
|
|
103
virtman-git-scsi.diff
Normal file
103
virtman-git-scsi.diff
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
|
||||||
|
Subject: Add virtio-scsi disk bus option
|
||||||
|
From: ChenHanxiao chenhanxiao@cn.fujitsu.com Fri Dec 7 18:21:38 2012 +0800
|
||||||
|
Date: Sun Dec 9 14:28:42 2012 -0500:
|
||||||
|
Git: ad1b24e885670d36b4ffd3a96434fd19dbe2ce98
|
||||||
|
|
||||||
|
This patch will add virtio-scsi bus option on "Add New Virtual
|
||||||
|
Hardware" GUI page. It will support users to add a virtual disk
|
||||||
|
using SCSI bus with a controller model virtio-scsi.
|
||||||
|
If there is no SCSI controller existed, a new SCSI controller by
|
||||||
|
model 'virtio-scsi' will be added automatically.
|
||||||
|
|
||||||
|
Signed-off-by: ChenHanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
|
|
||||||
|
(crobinso: add Chen to AUTHORS, some cosmetic tweaks)
|
||||||
|
|
||||||
|
Index: virt-manager-0.9.4/AUTHORS
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-0.9.4.orig/AUTHORS
|
||||||
|
+++ virt-manager-0.9.4/AUTHORS
|
||||||
|
@@ -81,6 +81,7 @@ Further patches have been submitted by:
|
||||||
|
Nathan Bird <nathan-at-acceleration-dot-net>
|
||||||
|
Guannan Ren <gren-at-redhat-dot-com>
|
||||||
|
Eduardo Elias Ferreira <edusf-at-linux-dot-vnet-dot-ibm-dot-com>
|
||||||
|
+ ChenHanxiao <chenhanxiao-at-cn-dot-fujitsu-dot-com>
|
||||||
|
|
||||||
|
<...send a patch & get your name here...>
|
||||||
|
|
||||||
|
Index: virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-0.9.4.orig/src/virtManager/addhardware.py
|
||||||
|
+++ virt-manager-0.9.4/src/virtManager/addhardware.py
|
||||||
|
@@ -28,6 +28,7 @@ from virtinst import (VirtualCharDevice,
|
||||||
|
VirtualVideoDevice, VirtualWatchdog,
|
||||||
|
VirtualFilesystem, VirtualSmartCardDevice,
|
||||||
|
VirtualRedirDevice)
|
||||||
|
+from virtinst.VirtualController import VirtualControllerSCSI
|
||||||
|
|
||||||
|
import virtManager.util as util
|
||||||
|
import virtManager.uihelpers as uihelpers
|
||||||
|
@@ -539,6 +540,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
if self.vm.get_hv_type() == "kvm":
|
||||||
|
add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk")
|
||||||
|
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk")
|
||||||
|
+ add_dev("virtio-scsi", virtinst.VirtualDisk.DEVICE_DISK,
|
||||||
|
+ _("Virtio SCSI disk"))
|
||||||
|
if self.conn.is_xen():
|
||||||
|
add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk")
|
||||||
|
|
||||||
|
@@ -1151,9 +1154,15 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
self._dev.get_xml_config()
|
||||||
|
logging.debug("Adding device:\n" + self._dev.get_xml_config())
|
||||||
|
|
||||||
|
+ controller = getattr(self._dev, "vmm_controller", None)
|
||||||
|
+ if controller is not None:
|
||||||
|
+ logging.debug("Adding controller:\n%s",
|
||||||
|
+ self._dev.vmm_controller.get_xml_config())
|
||||||
|
# Hotplug device
|
||||||
|
attach_err = False
|
||||||
|
try:
|
||||||
|
+ if controller is not None:
|
||||||
|
+ self.vm.attach_device(self._dev.vmm_controller)
|
||||||
|
self.vm.attach_device(self._dev)
|
||||||
|
except Exception, e:
|
||||||
|
logging.debug("Device could not be hotplugged: %s", str(e))
|
||||||
|
@@ -1176,6 +1185,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
|
||||||
|
# Alter persistent config
|
||||||
|
try:
|
||||||
|
+ if controller is not None:
|
||||||
|
+ self.vm.add_device(self._dev.vmm_controller)
|
||||||
|
self.vm.add_device(self._dev)
|
||||||
|
except Exception, e:
|
||||||
|
self.err.show_err(_("Error adding device: %s" % str(e)))
|
||||||
|
@@ -1221,6 +1232,10 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
bus, device = self.get_config_disk_target()
|
||||||
|
cache = self.get_config_disk_cache()
|
||||||
|
fmt = self.get_config_disk_format()
|
||||||
|
+ controller_model = None
|
||||||
|
+ if bus == "virtio-scsi":
|
||||||
|
+ bus = "scsi"
|
||||||
|
+ controller_model = "virtio-scsi"
|
||||||
|
|
||||||
|
# Make sure default pool is running
|
||||||
|
if self.is_default_storage():
|
||||||
|
@@ -1315,6 +1330,17 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
uihelpers.check_path_search_for_qemu(self.topwin,
|
||||||
|
self.conn, disk.path)
|
||||||
|
|
||||||
|
+ # Add a SCSI controller with model virtio-scsi if needed
|
||||||
|
+ disk.vmm_controller = None
|
||||||
|
+ if (controller_model == "virtio-scsi") and (bus == "scsi"):
|
||||||
|
+ controllers = self.vm.get_controller_devices()
|
||||||
|
+ controller = VirtualControllerSCSI(conn = self.conn.vmm)
|
||||||
|
+ controller.set_model(controller_model)
|
||||||
|
+ disk.vmm_controller = controller
|
||||||
|
+ for d in controllers:
|
||||||
|
+ if controller_model == d.model:
|
||||||
|
+ disk.vmm_controller = None
|
||||||
|
+
|
||||||
|
self._dev = disk
|
||||||
|
return True
|
||||||
|
|
@ -1,8 +1,16 @@
|
|||||||
Index: virt-manager-0.9.3/src/virtManager/engine.py
|
Index: virt-manager-0.9.4/src/virtManager/engine.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/engine.py
|
--- virt-manager-0.9.4.orig/src/virtManager/engine.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/engine.py
|
+++ virt-manager-0.9.4/src/virtManager/engine.py
|
||||||
@@ -42,7 +42,6 @@ from virtManager.manager import vmmManag
|
@@ -24,6 +24,7 @@ import gtk
|
||||||
|
import logging
|
||||||
|
import threading
|
||||||
|
import os
|
||||||
|
+import traceback
|
||||||
|
|
||||||
|
import libvirt
|
||||||
|
import virtinst
|
||||||
|
@@ -42,7 +43,6 @@ from virtManager.manager import vmmManag
|
||||||
from virtManager.migrate import vmmMigrateDialog
|
from virtManager.migrate import vmmMigrateDialog
|
||||||
from virtManager.details import vmmDetails
|
from virtManager.details import vmmDetails
|
||||||
from virtManager.asyncjob import vmmAsyncJob
|
from virtManager.asyncjob import vmmAsyncJob
|
||||||
@ -10,7 +18,7 @@ Index: virt-manager-0.9.3/src/virtManager/engine.py
|
|||||||
from virtManager.host import vmmHost
|
from virtManager.host import vmmHost
|
||||||
from virtManager.error import vmmErrorDialog
|
from virtManager.error import vmmErrorDialog
|
||||||
from virtManager.systray import vmmSystray
|
from virtManager.systray import vmmSystray
|
||||||
@@ -671,11 +670,47 @@ class vmmEngine(vmmGObject):
|
@@ -671,11 +671,47 @@ class vmmEngine(vmmGObject):
|
||||||
self.windowCreate = obj
|
self.windowCreate = obj
|
||||||
return self.windowCreate
|
return self.windowCreate
|
||||||
|
|
||||||
@ -62,10 +70,10 @@ Index: virt-manager-0.9.3/src/virtManager/engine.py
|
|||||||
|
|
||||||
def _do_show_migrate(self, src, uri, uuid):
|
def _do_show_migrate(self, src, uri, uuid):
|
||||||
try:
|
try:
|
||||||
Index: virt-manager-0.9.3/src/virtManager/create.py
|
Index: virt-manager-0.9.4/src/virtManager/create.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.9.3.orig/src/virtManager/create.py
|
--- virt-manager-0.9.4.orig/src/virtManager/create.py
|
||||||
+++ virt-manager-0.9.3/src/virtManager/create.py
|
+++ virt-manager-0.9.4/src/virtManager/create.py
|
||||||
@@ -176,6 +176,7 @@ class vmmCreate(vmmGObjectUI):
|
@@ -176,6 +176,7 @@ class vmmCreate(vmmGObjectUI):
|
||||||
|
|
||||||
def close(self, ignore1=None, ignore2=None):
|
def close(self, ignore1=None, ignore2=None):
|
||||||
|
Loading…
Reference in New Issue
Block a user