- bnc#885308 - pass virtio-rng-pci to the guest qemu
virtinst-add-default-rng-device.patch - Fix GUI failure to display addition of a second disk Dropped virtman-device-flags.patch - bnc#885380 - virt-install: by default generates raw format against various virtual disk formats virtinst-supported-disk-formats.patch virtman-supported-disk-formats.patch - Dropped virtinst-qed.patch, virtman-qed.patch - bnc#869026 - Build0198: Unable to complete install: 'XML error: No PCI buses available' virtman-add-s390x-arch-support.patch - Upstream bug fixes 53ac1f8d-createnet-validate-last-page-before-creating-network.patch 53ac1f8d-fix-show_err-typo.patch 53b39a13-dont-create-disk-images-world-readable-executable.patch 53b409bc-add-keep-alive-method-and-connection-check.patch 53b409bd-console-prevent-access-to-deleted-objects.patch 53b728c6-report-error-during-connection-bring-up.patch 53b728c6-connection-handle-unsupported-KeepAlive.patch 53bb1995-network-refresh-XML-definition-on-state-update.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=188
This commit is contained in:
parent
97562d2a97
commit
a18ef09a88
@ -11,7 +11,7 @@ Index: virt-manager-1.0.1/virtManager/createnet.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtManager/createnet.py
|
--- virt-manager-1.0.1.orig/virtManager/createnet.py
|
||||||
+++ virt-manager-1.0.1/virtManager/createnet.py
|
+++ virt-manager-1.0.1/virtManager/createnet.py
|
||||||
@@ -749,7 +749,7 @@ class vmmCreateNetwork(vmmGObjectUI):
|
@@ -752,7 +752,7 @@ class vmmCreateNetwork(vmmGObjectUI):
|
||||||
try:
|
try:
|
||||||
net = self._build_xmlobj()
|
net = self._build_xmlobj()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
Subject: Don't create disk images world readable and executable
|
||||||
|
From: Ron ron@debian.org Sun Jun 29 16:16:36 2014 +0930
|
||||||
|
Date: Wed Jul 2 07:35:15 2014 +0200:
|
||||||
|
Git: ea1d973957ce3662c7fb22046c34b62f72f0e624
|
||||||
|
|
||||||
|
Python's os.open() defaults to mode 0777 if not explicitly specified.
|
||||||
|
Disk image files don't need to be executable, and having them world
|
||||||
|
readable isn't an ideal situation either. Owner writable and group
|
||||||
|
readable is probably more than sufficient when initially creating
|
||||||
|
them.
|
||||||
|
|
||||||
|
Signed-off-by: Ron Lee <ron@debian.org>
|
||||||
|
|
||||||
|
diff --git a/virtinst/diskbackend.py b/virtinst/diskbackend.py
|
||||||
|
index 5f72d00..2c74a11 100644
|
||||||
|
--- a/virtinst/diskbackend.py
|
||||||
|
+++ b/virtinst/diskbackend.py
|
||||||
|
@@ -383,7 +383,7 @@ class StorageCreator(_StorageBase):
|
||||||
|
sparse = True
|
||||||
|
fd = None
|
||||||
|
try:
|
||||||
|
- fd = os.open(self._path, os.O_WRONLY | os.O_CREAT)
|
||||||
|
+ fd = os.open(self._path, os.O_WRONLY | os.O_CREAT, 0640)
|
||||||
|
os.ftruncate(fd, size_bytes)
|
||||||
|
finally:
|
||||||
|
if fd:
|
||||||
|
@@ -401,7 +401,7 @@ class StorageCreator(_StorageBase):
|
||||||
|
try:
|
||||||
|
try:
|
||||||
|
src_fd = os.open(self._clone_path, os.O_RDONLY)
|
||||||
|
- dst_fd = os.open(self._path, os.O_WRONLY | os.O_CREAT)
|
||||||
|
+ dst_fd = os.open(self._path, os.O_WRONLY | os.O_CREAT, 0640)
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
while 1:
|
||||||
|
diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
|
||||||
|
index fba70f9..b51e524 100644
|
||||||
|
--- a/virtinst/urlfetcher.py
|
||||||
|
+++ b/virtinst/urlfetcher.py
|
||||||
|
@@ -67,7 +67,7 @@ class _ImageFetcher(object):
|
||||||
|
prefix = "virtinst-" + prefix
|
||||||
|
if "VIRTINST_TEST_SUITE" in os.environ:
|
||||||
|
fn = os.path.join(".", prefix)
|
||||||
|
- fd = os.open(fn, os.O_RDWR | os.O_CREAT)
|
||||||
|
+ fd = os.open(fn, os.O_RDWR | os.O_CREAT, 0640)
|
||||||
|
else:
|
||||||
|
(fd, fn) = tempfile.mkstemp(prefix=prefix,
|
||||||
|
dir=self.scratchdir)
|
48
53b409bc-add-keep-alive-method-and-connection-check.patch
Normal file
48
53b409bc-add-keep-alive-method-and-connection-check.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Subject: virtinst: add method to set connection keep-alive
|
||||||
|
From: Giuseppe Scrivano gscrivan@redhat.com Tue Jul 1 12:54:38 2014 +0200
|
||||||
|
Date: Wed Jul 2 15:31:40 2014 +0200:
|
||||||
|
Git: 3606bb573df4132a70b9e0fe82a59cd49a400fa0
|
||||||
|
|
||||||
|
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||||
|
|
||||||
|
Subject: virt-manager: check if still connected every 20 seconds
|
||||||
|
From: Giuseppe Scrivano gscrivan@redhat.com Tue Jul 1 13:06:05 2014 +0200
|
||||||
|
Date: Wed Jul 2 15:31:40 2014 +0200:
|
||||||
|
Git: 538c68a41dd0538c36e442ad37690b1b9c3debee
|
||||||
|
|
||||||
|
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtinst/connection.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtinst/connection.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/connection.py
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
#
|
||||||
|
-# Copyright 2013 Red Hat, Inc.
|
||||||
|
+# Copyright 2013, 2014 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@@ -201,6 +201,10 @@ class VirtualConnection(object):
|
||||||
|
self._fetch_cache[key] = ret
|
||||||
|
return ret
|
||||||
|
|
||||||
|
+ def set_keep_alive(self, interval, count):
|
||||||
|
+ if hasattr(self._libvirtconn, "setKeepAlive"):
|
||||||
|
+ self._libvirtconn.setKeepAlive(interval, count)
|
||||||
|
+
|
||||||
|
def fetch_all_pools(self):
|
||||||
|
"""
|
||||||
|
Returns a list of StoragePool objects
|
||||||
|
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
|
||||||
|
@@ -1112,6 +1112,7 @@ class vmmConnection(vmmGObject):
|
||||||
|
logging.debug("%s capabilities:\n%s",
|
||||||
|
self.get_uri(), self.caps.xml)
|
||||||
|
self._add_conn_events()
|
||||||
|
+ self._backend.setKeepAlive(20, 1)
|
||||||
|
self.schedule_priority_tick(stats_update=True,
|
||||||
|
pollvm=True, pollnet=True,
|
||||||
|
pollpool=True, polliface=True,
|
50
53b409bd-console-prevent-access-to-deleted-objects.patch
Normal file
50
53b409bd-console-prevent-access-to-deleted-objects.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
Subject: console: prevent access to deleted objects
|
||||||
|
From: Giuseppe Scrivano gscrivan@redhat.com Tue Jul 1 15:01:58 2014 +0200
|
||||||
|
Date: Wed Jul 2 15:31:41 2014 +0200:
|
||||||
|
Git: f4365b669acc36bdc61c57d793894305dcb9059a
|
||||||
|
|
||||||
|
last commits revealed that some objects can still be accessed by
|
||||||
|
registered callbacks after the console is closed. Unregister these
|
||||||
|
callbacks.
|
||||||
|
|
||||||
|
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtManager/console.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/console.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/console.py
|
||||||
|
@@ -572,6 +572,7 @@ class SpiceViewer(Viewer):
|
||||||
|
self.display = None
|
||||||
|
self.audio = None
|
||||||
|
self.main_channel = None
|
||||||
|
+ self._main_channel_hids = []
|
||||||
|
self.display_channel = None
|
||||||
|
self.usbdev_manager = None
|
||||||
|
|
||||||
|
@@ -636,6 +637,11 @@ class SpiceViewer(Viewer):
|
||||||
|
self.display.destroy()
|
||||||
|
self.display = None
|
||||||
|
self.display_channel = None
|
||||||
|
+
|
||||||
|
+ for i in self._main_channel_hids:
|
||||||
|
+ self.main_channel.handler_disconnect(i)
|
||||||
|
+ self._main_channel_hids = []
|
||||||
|
+
|
||||||
|
self.main_channel = None
|
||||||
|
self.usbdev_manager = None
|
||||||
|
|
||||||
|
@@ -682,10 +688,12 @@ class SpiceViewer(Viewer):
|
||||||
|
if self.console.tunnels:
|
||||||
|
self.console.tunnels.unlock()
|
||||||
|
self.main_channel = channel
|
||||||
|
- self.main_channel.connect_after("channel-event",
|
||||||
|
+ hid = self.main_channel.connect_after("channel-event",
|
||||||
|
self._main_channel_event_cb)
|
||||||
|
- self.main_channel.connect_after("notify::agent-connected",
|
||||||
|
+ self._main_channel_hids.append(hid)
|
||||||
|
+ hid = self.main_channel.connect_after("notify::agent-connected",
|
||||||
|
self._agent_connected_cb)
|
||||||
|
+ self._main_channel_hids.append(hid)
|
||||||
|
|
||||||
|
elif (type(channel) == SpiceClientGLib.DisplayChannel and
|
||||||
|
not self.display):
|
28
53b728c6-connection-handle-unsupported-KeepAlive.patch
Normal file
28
53b728c6-connection-handle-unsupported-KeepAlive.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Subject: connection: Handle unsupport KeepAlive (like test URIs)
|
||||||
|
From: Cole Robinson crobinso@redhat.com Fri Jul 4 17:43:24 2014 -0400
|
||||||
|
Date: Fri Jul 4 18:20:54 2014 -0400:
|
||||||
|
Git: aa823b5b58d689e2a69a9822fd462a1333d8d415
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
@@ -1112,7 +1112,16 @@ class vmmConnection(vmmGObject):
|
||||||
|
logging.debug("%s capabilities:\n%s",
|
||||||
|
self.get_uri(), self.caps.xml)
|
||||||
|
self._add_conn_events()
|
||||||
|
- self._backend.setKeepAlive(20, 1)
|
||||||
|
+
|
||||||
|
+ try:
|
||||||
|
+ self._backend.setKeepAlive(20, 1)
|
||||||
|
+ except Exception, e:
|
||||||
|
+ if (type(e) is not AttributeError and
|
||||||
|
+ not util.is_error_nosupport(e)):
|
||||||
|
+ raise
|
||||||
|
+ logging.debug("Connection doesn't support KeepAlive, "
|
||||||
|
+ "skipping")
|
||||||
|
+
|
||||||
|
self.schedule_priority_tick(stats_update=True,
|
||||||
|
pollvm=True, pollnet=True,
|
||||||
|
pollpool=True, polliface=True,
|
55
53b728c6-report-error-during-connection-bring-up.patch
Normal file
55
53b728c6-report-error-during-connection-bring-up.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
Subject: connection: Report error if things fall over during connection bring up
|
||||||
|
From: Cole Robinson crobinso@redhat.com Fri Jul 4 17:37:42 2014 -0400
|
||||||
|
Date: Fri Jul 4 18:20:54 2014 -0400:
|
||||||
|
Git: e12d7a6a8c21f0d8e0331fa06f53523258bdfaae
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
@@ -1101,23 +1101,27 @@ class vmmConnection(vmmGObject):
|
||||||
|
def _open_notify(self):
|
||||||
|
logging.debug("Notifying open result")
|
||||||
|
|
||||||
|
- self.idle_emit("state-changed")
|
||||||
|
-
|
||||||
|
- if self.state == self.STATE_ACTIVE:
|
||||||
|
- logging.debug("libvirt version=%s",
|
||||||
|
- self._backend.local_libvirt_version())
|
||||||
|
- logging.debug("daemon version=%s",
|
||||||
|
- self._backend.daemon_version())
|
||||||
|
- logging.debug("conn version=%s", self._backend.conn_version())
|
||||||
|
- logging.debug("%s capabilities:\n%s",
|
||||||
|
- self.get_uri(), self.caps.xml)
|
||||||
|
- self._add_conn_events()
|
||||||
|
- self._backend.setKeepAlive(20, 1)
|
||||||
|
- self.schedule_priority_tick(stats_update=True,
|
||||||
|
- pollvm=True, pollnet=True,
|
||||||
|
- pollpool=True, polliface=True,
|
||||||
|
- pollnodedev=True, pollmedia=True,
|
||||||
|
- force=True)
|
||||||
|
+ try:
|
||||||
|
+ self.idle_emit("state-changed")
|
||||||
|
+ if self.state == self.STATE_ACTIVE:
|
||||||
|
+ logging.debug("libvirt version=%s",
|
||||||
|
+ self._backend.local_libvirt_version())
|
||||||
|
+ logging.debug("daemon version=%s",
|
||||||
|
+ self._backend.daemon_version())
|
||||||
|
+ logging.debug("conn version=%s", self._backend.conn_version())
|
||||||
|
+ logging.debug("%s capabilities:\n%s",
|
||||||
|
+ self.get_uri(), self.caps.xml)
|
||||||
|
+ self._add_conn_events()
|
||||||
|
+ self._backend.setKeepAlive(20, 1)
|
||||||
|
+ self.schedule_priority_tick(stats_update=True,
|
||||||
|
+ pollvm=True, pollnet=True,
|
||||||
|
+ pollpool=True, polliface=True,
|
||||||
|
+ pollnodedev=True, pollmedia=True,
|
||||||
|
+ force=True)
|
||||||
|
+ except Exception, e:
|
||||||
|
+ self.close()
|
||||||
|
+ self.connectError = (str(e),
|
||||||
|
+ "".join(traceback.format_exc()), False)
|
||||||
|
|
||||||
|
if self.state == self.STATE_DISCONNECTED:
|
||||||
|
if self.connectError:
|
@ -0,0 +1,23 @@
|
|||||||
|
Subject: network: refresh the XML definition on state update
|
||||||
|
From: Giuseppe Scrivano gscrivan@redhat.com Thu Jul 3 13:55:50 2014 +0200
|
||||||
|
Date: Tue Jul 8 00:05:09 2014 +0200:
|
||||||
|
Git: cbb18b0e9626faa08d8f017a9e02466e5ba7b767
|
||||||
|
|
||||||
|
The XML definition returned by libvirt can change on a state
|
||||||
|
transition. vmmNetwork.force_update_status invalidates the old
|
||||||
|
definition.
|
||||||
|
|
||||||
|
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtManager/network.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/network.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/network.py
|
||||||
|
@@ -80,6 +80,7 @@ class vmmNetwork(vmmLibvirtObject):
|
||||||
|
def _set_active(self, state):
|
||||||
|
if state == self._active:
|
||||||
|
return
|
||||||
|
+ self.refresh_xml()
|
||||||
|
self.idle_emit(state and "started" or "stopped")
|
||||||
|
self._active = state
|
||||||
|
|
@ -1,3 +1,40 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 17 15:45:19 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#885308 - pass virtio-rng-pci to the guest qemu
|
||||||
|
virtinst-add-default-rng-device.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 9 09:50:14 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- Fix GUI failure to display addition of a second disk
|
||||||
|
Dropped virtman-device-flags.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 9 09:50:14 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#885380 - virt-install: by default generates raw format
|
||||||
|
against various virtual disk formats
|
||||||
|
virtinst-supported-disk-formats.patch
|
||||||
|
virtman-supported-disk-formats.patch
|
||||||
|
- Dropped virtinst-qed.patch, virtman-qed.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 8 10:34:20 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#869026 - Build0198: Unable to complete install: 'XML error:
|
||||||
|
No PCI buses available'
|
||||||
|
virtman-add-s390x-arch-support.patch
|
||||||
|
- Upstream bug fixes
|
||||||
|
53ac1f8d-createnet-validate-last-page-before-creating-network.patch
|
||||||
|
53ac1f8d-fix-show_err-typo.patch
|
||||||
|
53b39a13-dont-create-disk-images-world-readable-executable.patch
|
||||||
|
53b409bc-add-keep-alive-method-and-connection-check.patch
|
||||||
|
53b409bd-console-prevent-access-to-deleted-objects.patch
|
||||||
|
53b728c6-report-error-during-connection-bring-up.patch
|
||||||
|
53b728c6-connection-handle-unsupported-KeepAlive.patch
|
||||||
|
53bb1995-network-refresh-XML-definition-on-state-update.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jul 1 09:55:29 MDT 2014 - carnold@suse.com
|
Tue Jul 1 09:55:29 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
@ -76,33 +76,38 @@ Patch37: 5397b647-createnet-enable-specifying-29-subnet.patch
|
|||||||
Patch38: 539e8cca-createpool-fix-creation-of-gluster-pools.patch
|
Patch38: 539e8cca-createpool-fix-creation-of-gluster-pools.patch
|
||||||
Patch39: 53a05e73-fix-edit-maxvcpus.patch
|
Patch39: 53a05e73-fix-edit-maxvcpus.patch
|
||||||
Patch40: 53a995cb-fix-usb-storage-removable-syntax.patch
|
Patch40: 53a995cb-fix-usb-storage-removable-syntax.patch
|
||||||
Patch41: 53ac1f8d-fix-show_err-typo.patch
|
Patch41: 53ac1f8d-createnet-validate-last-page-before-creating-network.patch
|
||||||
Patch42: 53ac1f8d-createnet-validate-last-page-before-creating-network.patch
|
Patch42: 53ac1f8d-fix-show_err-typo.patch
|
||||||
Patch50: virtman-desktop.patch
|
Patch43: 53b39a13-dont-create-disk-images-world-readable-executable.patch
|
||||||
Patch51: virtman-cdrom.patch
|
Patch44: 53b409bc-add-keep-alive-method-and-connection-check.patch
|
||||||
Patch52: virtman-kvm.patch
|
Patch45: 53b409bd-console-prevent-access-to-deleted-objects.patch
|
||||||
Patch53: virtman-keycombo.patch
|
Patch46: 53b728c6-report-error-during-connection-bring-up.patch
|
||||||
Patch54: virtman-eepro100.patch
|
Patch47: 53b728c6-connection-handle-unsupported-KeepAlive.patch
|
||||||
Patch55: virtman-qed.patch
|
Patch48: 53bb1995-network-refresh-XML-definition-on-state-update.patch
|
||||||
Patch56: virtman-device-flags.patch
|
Patch70: virtman-desktop.patch
|
||||||
Patch57: virtman-autorestart.patch
|
Patch71: virtman-cdrom.patch
|
||||||
Patch60: virtman-default-guest-from-host-os.patch
|
Patch72: virtman-kvm.patch
|
||||||
Patch61: virtman-default-to-xen-pv.patch
|
Patch73: virtman-keycombo.patch
|
||||||
Patch62: virtman-autoyast-support.patch
|
Patch74: virtman-eepro100.patch
|
||||||
Patch63: virtman-vminstall.patch
|
Patch75: virtman-supported-disk-formats.patch
|
||||||
Patch64: virtman-show-suse-install-repos.patch
|
Patch76: virtman-autorestart.patch
|
||||||
Patch65: virtman-packages.patch
|
Patch80: virtman-default-guest-from-host-os.patch
|
||||||
Patch66: virtman-load-stored-uris.patch
|
Patch81: virtman-default-to-xen-pv.patch
|
||||||
Patch67: virtman-libvirtd-not-running.patch
|
Patch82: virtman-autoyast-support.patch
|
||||||
Patch68: virtman-stable-os-support.patch
|
Patch83: virtman-vminstall.patch
|
||||||
Patch69: virtman-add-s390x-arch-support.patch
|
Patch84: virtman-show-suse-install-repos.patch
|
||||||
Patch70: virtman-prevent-double-click-starting-vm-twice.patch
|
Patch85: virtman-packages.patch
|
||||||
Patch71: virtman-default-lxc-uri.patch
|
Patch86: virtman-load-stored-uris.patch
|
||||||
Patch72: virtman-add-connect-default.patch
|
Patch87: virtman-libvirtd-not-running.patch
|
||||||
Patch73: virtman-dont-allow-grub.xen-to-be-deleted.patch
|
Patch88: virtman-stable-os-support.patch
|
||||||
Patch74: virtman-check-for-empty-network-name.patch
|
Patch89: virtman-add-s390x-arch-support.patch
|
||||||
|
Patch90: virtman-prevent-double-click-starting-vm-twice.patch
|
||||||
|
Patch91: virtman-default-lxc-uri.patch
|
||||||
|
Patch92: virtman-add-connect-default.patch
|
||||||
|
Patch93: virtman-dont-allow-grub.xen-to-be-deleted.patch
|
||||||
|
Patch94: virtman-check-for-empty-network-name.patch
|
||||||
Patch151: virtinst-storage-ocfs2.patch
|
Patch151: virtinst-storage-ocfs2.patch
|
||||||
Patch152: virtinst-qed.patch
|
Patch152: virtinst-supported-disk-formats.patch
|
||||||
Patch153: virtinst-support-suse-distros.patch
|
Patch153: virtinst-support-suse-distros.patch
|
||||||
Patch154: virtinst-detect-suse-distros.patch
|
Patch154: virtinst-detect-suse-distros.patch
|
||||||
Patch155: virtinst-xen-drive-type.patch
|
Patch155: virtinst-xen-drive-type.patch
|
||||||
@ -113,6 +118,7 @@ Patch159: virtinst-vol-default-nocow.patch
|
|||||||
Patch160: virtinst-detect-windows-media.patch
|
Patch160: virtinst-detect-windows-media.patch
|
||||||
Patch161: virtinst-xenbus-disk-index-fix.patch
|
Patch161: virtinst-xenbus-disk-index-fix.patch
|
||||||
Patch162: virtinst-set-cache-mode-unsafe-for-install.patch
|
Patch162: virtinst-set-cache-mode-unsafe-for-install.patch
|
||||||
|
Patch163: virtinst-add-default-rng-device.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -243,29 +249,34 @@ machine).
|
|||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
%patch42 -p1
|
%patch42 -p1
|
||||||
%patch50 -p1
|
%patch43 -p1
|
||||||
%patch51 -p1
|
%patch44 -p1
|
||||||
%patch52 -p1
|
%patch45 -p1
|
||||||
%patch53 -p1
|
%patch46 -p1
|
||||||
%patch54 -p1
|
%patch47 -p1
|
||||||
%patch55 -p1
|
%patch48 -p1
|
||||||
%patch56 -p1
|
|
||||||
%patch57 -p1
|
|
||||||
%patch60 -p1
|
|
||||||
%patch61 -p1
|
|
||||||
%patch62 -p1
|
|
||||||
%patch63 -p1
|
|
||||||
%patch64 -p1
|
|
||||||
%patch65 -p1
|
|
||||||
%patch66 -p1
|
|
||||||
%patch67 -p1
|
|
||||||
%patch68 -p1
|
|
||||||
%patch69 -p1
|
|
||||||
%patch70 -p1
|
%patch70 -p1
|
||||||
%patch71 -p1
|
%patch71 -p1
|
||||||
%patch72 -p1
|
%patch72 -p1
|
||||||
%patch73 -p1
|
%patch73 -p1
|
||||||
%patch74 -p1
|
%patch74 -p1
|
||||||
|
%patch75 -p1
|
||||||
|
%patch76 -p1
|
||||||
|
%patch80 -p1
|
||||||
|
%patch81 -p1
|
||||||
|
%patch82 -p1
|
||||||
|
%patch83 -p1
|
||||||
|
%patch84 -p1
|
||||||
|
%patch85 -p1
|
||||||
|
%patch86 -p1
|
||||||
|
%patch87 -p1
|
||||||
|
%patch88 -p1
|
||||||
|
%patch89 -p1
|
||||||
|
%patch90 -p1
|
||||||
|
%patch91 -p1
|
||||||
|
%patch92 -p1
|
||||||
|
%patch93 -p1
|
||||||
|
%patch94 -p1
|
||||||
%patch151 -p1
|
%patch151 -p1
|
||||||
%patch152 -p1
|
%patch152 -p1
|
||||||
%patch153 -p1
|
%patch153 -p1
|
||||||
@ -278,6 +289,7 @@ machine).
|
|||||||
%patch160 -p1
|
%patch160 -p1
|
||||||
%patch161 -p1
|
%patch161 -p1
|
||||||
%patch162 -p1
|
%patch162 -p1
|
||||||
|
%patch163 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %{qemu_user}
|
%if %{qemu_user}
|
||||||
|
28
virtinst-add-default-rng-device.patch
Normal file
28
virtinst-add-default-rng-device.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
bnc#885308
|
||||||
|
|
||||||
|
--- virt-manager-1.0.1/virtinst/guest.py.orig 2014-07-17 15:40:21.724772127 -0600
|
||||||
|
+++ virt-manager-1.0.1/virtinst/guest.py 2014-07-17 15:40:27.921811664 -0600
|
||||||
|
@@ -625,6 +625,15 @@ class Guest(XMLBuilder):
|
||||||
|
return
|
||||||
|
self.add_device(virtinst.VirtualGraphics(self.conn))
|
||||||
|
|
||||||
|
+ def add_default_rng(self):
|
||||||
|
+ osvar = self._get_os_variant()
|
||||||
|
+ if not self.conn.is_qemu() or not osvar or osvar.startswith("win"):
|
||||||
|
+ return
|
||||||
|
+ rng_dev = virtinst.VirtualRNGDevice(True)
|
||||||
|
+ rng_dev.type = virtinst.VirtualRNGDevice.TYPE_RANDOM
|
||||||
|
+ setattr(rng_dev, "device", "/dev/random")
|
||||||
|
+ self.add_device(rng_dev)
|
||||||
|
+
|
||||||
|
def add_default_devices(self):
|
||||||
|
self.add_default_graphics()
|
||||||
|
self.add_default_video_device()
|
||||||
|
@@ -632,6 +641,7 @@ class Guest(XMLBuilder):
|
||||||
|
self.add_default_console_device()
|
||||||
|
self.add_default_usb_controller()
|
||||||
|
self.add_default_channels()
|
||||||
|
+ self.add_default_rng()
|
||||||
|
|
||||||
|
def _set_transient_device_defaults(self, install):
|
||||||
|
def do_remove_media(d):
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
||||||
+++ virt-manager-1.0.1/virtinst/guest.py
|
+++ virt-manager-1.0.1/virtinst/guest.py
|
||||||
@@ -348,8 +348,18 @@ class Guest(XMLBuilder):
|
@@ -351,8 +351,18 @@ class Guest(XMLBuilder):
|
||||||
if (not install and
|
if (not install and
|
||||||
self.os.is_xenpv() and
|
self.os.is_xenpv() and
|
||||||
not self.os.kernel):
|
not self.os.kernel):
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
--- virt-manager-1.0.1/virtinst/guest.py.orig 2014-05-29 10:27:00.609005060 -0600
|
Index: virt-manager-1.0.1/virtinst/guest.py
|
||||||
+++ virt-manager-1.0.1/virtinst/guest.py 2014-05-29 10:27:03.588027133 -0600
|
===================================================================
|
||||||
@@ -343,6 +343,12 @@ class Guest(XMLBuilder):
|
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/guest.py
|
||||||
|
@@ -346,6 +346,12 @@ class Guest(XMLBuilder):
|
||||||
self.on_reboot = action
|
self.on_reboot = action
|
||||||
self.on_crash = action
|
self.on_crash = action
|
||||||
|
|
||||||
@ -13,7 +15,7 @@
|
|||||||
self._set_defaults()
|
self._set_defaults()
|
||||||
|
|
||||||
self.bootloader = None
|
self.bootloader = None
|
||||||
@@ -362,7 +368,10 @@ class Guest(XMLBuilder):
|
@@ -365,7 +371,10 @@ class Guest(XMLBuilder):
|
||||||
self.bootloader = "/usr/bin/pygrub"
|
self.bootloader = "/usr/bin/pygrub"
|
||||||
self.os.clear()
|
self.os.clear()
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import urlgrabber.progress as progress
|
import urlgrabber.progress as progress
|
||||||
@@ -724,14 +725,22 @@ class Guest(XMLBuilder):
|
@@ -727,14 +728,22 @@ class Guest(XMLBuilder):
|
||||||
self.emulator = None
|
self.emulator = None
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: virt-manager-0.10.1/virtinst/devicedisk.py
|
Index: virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtinst/devicedisk.py
|
--- virt-manager-1.0.1.orig/virtinst/devicedisk.py
|
||||||
+++ virt-manager-0.10.1/virtinst/devicedisk.py
|
+++ virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
@@ -156,10 +156,11 @@ class VirtualDisk(VirtualDevice):
|
@@ -156,10 +156,11 @@ class VirtualDisk(VirtualDevice):
|
||||||
|
|
||||||
DRIVER_TAP_RAW = "aio"
|
DRIVER_TAP_RAW = "aio"
|
||||||
@ -15,10 +15,10 @@ Index: virt-manager-0.10.1/virtinst/devicedisk.py
|
|||||||
|
|
||||||
CACHE_MODE_NONE = "none"
|
CACHE_MODE_NONE = "none"
|
||||||
CACHE_MODE_WRITETHROUGH = "writethrough"
|
CACHE_MODE_WRITETHROUGH = "writethrough"
|
||||||
Index: virt-manager-0.10.1/virtinst/virtimage.py
|
Index: virt-manager-1.0.1/virtinst/virtimage.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtinst/virtimage.py
|
--- virt-manager-1.0.1.orig/virtinst/virtimage.py
|
||||||
+++ virt-manager-0.10.1/virtinst/virtimage.py
|
+++ virt-manager-1.0.1/virtinst/virtimage.py
|
||||||
@@ -209,6 +209,7 @@ class Disk(object):
|
@@ -209,6 +209,7 @@ class Disk(object):
|
||||||
FORMAT_QCOW2 = "qcow2"
|
FORMAT_QCOW2 = "qcow2"
|
||||||
FORMAT_VMDK = "vmdk"
|
FORMAT_VMDK = "vmdk"
|
||||||
@ -37,3 +37,16 @@ Index: virt-manager-0.10.1/virtinst/virtimage.py
|
|||||||
validate(formats.count(self.format) > 0,
|
validate(formats.count(self.format) > 0,
|
||||||
_("The format for disk %s must be one of %s") %
|
_("The format for disk %s must be one of %s") %
|
||||||
(self.file, ",".join(formats)))
|
(self.file, ",".join(formats)))
|
||||||
|
Index: virt-manager-1.0.1/virtinst/support.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtinst/support.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/support.py
|
||||||
|
@@ -258,7 +258,7 @@ SUPPORT_CONN_DISK_SD = _make(version="1.
|
||||||
|
# default to qcow2. It might be fine for xen or qemu older than the versions
|
||||||
|
# here, but until someone tests things I'm going to be a bit conservative.
|
||||||
|
SUPPORT_CONN_DEFAULT_QCOW2 = _make(
|
||||||
|
- version="0.8.0", hv_version={"qemu": "1.2.0", "test": 0})
|
||||||
|
+ version="0.8.0", hv_version={"qemu": "1.2.0", "all": 0})
|
||||||
|
SUPPORT_CONN_DEFAULT_USB2 = _make(
|
||||||
|
version="0.9.7", hv_version={"qemu": "1.0.0", "test": 0})
|
||||||
|
SUPPORT_CONN_CAN_ACPI = _make(hv_version={"xen": "3.1.0", "all": 0})
|
@ -1,9 +1,9 @@
|
|||||||
Reference: bnc#813082
|
Reference: bnc#813082
|
||||||
|
|
||||||
Index: virt-manager-1.0.0/virtinst/devicedisk.py
|
Index: virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.0.orig/virtinst/devicedisk.py
|
--- virt-manager-1.0.1.orig/virtinst/devicedisk.py
|
||||||
+++ virt-manager-1.0.0/virtinst/devicedisk.py
|
+++ virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
@@ -558,6 +558,12 @@ class VirtualDisk(VirtualDevice):
|
@@ -558,6 +558,12 @@ class VirtualDisk(VirtualDevice):
|
||||||
return None
|
return None
|
||||||
if self.conn.is_qemu():
|
if self.conn.is_qemu():
|
||||||
|
@ -37,7 +37,28 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
||||||
+++ virt-manager-1.0.1/virtinst/guest.py
|
+++ virt-manager-1.0.1/virtinst/guest.py
|
||||||
@@ -598,7 +598,7 @@ class Guest(XMLBuilder):
|
@@ -112,7 +112,10 @@ class Guest(XMLBuilder):
|
||||||
|
self.skip_default_channel = False
|
||||||
|
self.skip_default_sound = False
|
||||||
|
self.skip_default_usbredir = False
|
||||||
|
- self.skip_default_graphics = False
|
||||||
|
+ if self.os.arch == "s390x":
|
||||||
|
+ self.skip_default_graphics = True
|
||||||
|
+ else:
|
||||||
|
+ self.skip_default_graphics = False
|
||||||
|
self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
|
||||||
|
|
||||||
|
self._os_variant = None
|
||||||
|
@@ -553,7 +556,7 @@ class Guest(XMLBuilder):
|
||||||
|
self.add_device(dev)
|
||||||
|
|
||||||
|
def add_default_video_device(self):
|
||||||
|
- if self.os.is_container():
|
||||||
|
+ if self.os.is_container() or self.os.arch == "s390x":
|
||||||
|
return
|
||||||
|
if self.get_devices("video"):
|
||||||
|
return
|
||||||
|
@@ -598,7 +601,7 @@ class Guest(XMLBuilder):
|
||||||
return
|
return
|
||||||
if self.os.is_container():
|
if self.os.is_container():
|
||||||
return
|
return
|
||||||
@ -46,3 +67,12 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
|||||||
return
|
return
|
||||||
self.add_device(virtinst.VirtualGraphics(self.conn))
|
self.add_device(virtinst.VirtualGraphics(self.conn))
|
||||||
|
|
||||||
|
@@ -804,7 +807,7 @@ class Guest(XMLBuilder):
|
||||||
|
if not self._lookup_osdict_key(key, False):
|
||||||
|
return False
|
||||||
|
|
||||||
|
- if self.os.is_x86():
|
||||||
|
+ if self.os.is_x86() or self.os.arch == "s390x":
|
||||||
|
return True
|
||||||
|
if (self.os.is_arm_vexpress() and
|
||||||
|
self.os.dtb and
|
||||||
|
@ -27,7 +27,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
|||||||
if self.edited(EDIT_BOOTORDER):
|
if self.edited(EDIT_BOOTORDER):
|
||||||
kwargs["boot_order"] = self.get_config_boot_order()
|
kwargs["boot_order"] = self.get_config_boot_order()
|
||||||
|
|
||||||
@@ -2381,6 +2384,8 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2370,6 +2373,8 @@ class vmmDetails(vmmGObjectUI):
|
||||||
buttons=Gtk.ButtonsType.OK,
|
buttons=Gtk.ButtonsType.OK,
|
||||||
dialog_type=dtype)
|
dialog_type=dtype)
|
||||||
|
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1280,6 +1280,18 @@ class vmmAddHardware(vmmGObjectUI):
|
|
||||||
if controller is not None:
|
|
||||||
logging.debug("Adding controller:\n%s",
|
|
||||||
controller.get_xml_config())
|
|
||||||
+
|
|
||||||
+ # If vm is active, Try to hotplug the device and modify persistent
|
|
||||||
+ # config in one go
|
|
||||||
+ if self.vm.is_active():
|
|
||||||
+ try:
|
|
||||||
+ self.vm.attach_device_flags(self._dev, 3)
|
|
||||||
+ return (False, None)
|
|
||||||
+ except Exception, e:
|
|
||||||
+ logging.debug("Could not hotplug device and modify persistent "
|
|
||||||
+ "config at the same time: %s" % str(e))
|
|
||||||
+ logging.debug("Trying the operations seperately ...")
|
|
||||||
+
|
|
||||||
# Hotplug device
|
|
||||||
attach_err = False
|
|
||||||
try:
|
|
||||||
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
|
|
||||||
@@ -2290,6 +2290,17 @@ class vmmDetails(vmmGObjectUI):
|
|
||||||
text1=(_("Are you sure you want to remove this device?"))):
|
|
||||||
return
|
|
||||||
|
|
||||||
+ # If vm is running, try to hot remove the device and modify
|
|
||||||
+ # persistent config in one go
|
|
||||||
+ if self.vm.is_active():
|
|
||||||
+ try:
|
|
||||||
+ self.vm.detach_device_flags(dev_type, dev_id_info, 3)
|
|
||||||
+ return
|
|
||||||
+ except Exception, e:
|
|
||||||
+ logging.debug("Could not hot remove device and modify "
|
|
||||||
+ "persistent config at the same time: %s" % str(e))
|
|
||||||
+ logging.debug("Trying the operations seperately ...")
|
|
||||||
+
|
|
||||||
# Define the change
|
|
||||||
try:
|
|
||||||
self.vm.remove_device(devobj)
|
|
||||||
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
|
|
||||||
@@ -928,6 +928,10 @@ class vmmDomain(vmmLibvirtObject):
|
|
||||||
devxml = devobj.get_xml_config()
|
|
||||||
self._backend.attachDevice(devxml)
|
|
||||||
|
|
||||||
+ def attach_device_flags(self, devobj, flags):
|
|
||||||
+ xml = devobj.get_xml_config()
|
|
||||||
+ self._backend.attachDeviceFlags(xml, flags)
|
|
||||||
+
|
|
||||||
def detach_device(self, devobj):
|
|
||||||
"""
|
|
||||||
Hotunplug device from running guest
|
|
||||||
@@ -946,6 +950,10 @@ class vmmDomain(vmmLibvirtObject):
|
|
||||||
logging.debug("Calling update_device with xml=\n%s", xml)
|
|
||||||
self._backend.updateDeviceFlags(xml, flags)
|
|
||||||
|
|
||||||
+ def detach_device_flags(self, devtype, dev_id_info, flags):
|
|
||||||
+ xml = self._get_device_xml(devtype, dev_id_info)
|
|
||||||
+ self._backend.detachDeviceFlags(xml, flags)
|
|
||||||
+
|
|
||||||
def hotplug(self, vcpus=_SENTINEL, memory=_SENTINEL, maxmem=_SENTINEL,
|
|
||||||
description=_SENTINEL, title=_SENTINEL, storage_path=_SENTINEL,
|
|
||||||
device=_SENTINEL):
|
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/console.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtManager/console.py
|
--- virt-manager-1.0.1.orig/virtManager/console.py
|
||||||
+++ virt-manager-1.0.1/virtManager/console.py
|
+++ virt-manager-1.0.1/virtManager/console.py
|
||||||
@@ -934,6 +934,16 @@ class vmmConsolePages(vmmGObjectUI):
|
@@ -942,6 +942,16 @@ class vmmConsolePages(vmmGObjectUI):
|
||||||
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
|
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
|
||||||
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
|
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
|
||||||
menu.add(Gtk.SeparatorMenuItem())
|
menu.add(Gtk.SeparatorMenuItem())
|
||||||
|
@ -12,7 +12,7 @@ Index: virt-manager-1.0.1/virtManager/addhardware.py
|
|||||||
- formats.append("vmdk")
|
- formats.append("vmdk")
|
||||||
- no_create_formats.append("vdi")
|
- no_create_formats.append("vdi")
|
||||||
+ if vm.conn.is_xen():
|
+ if vm.conn.is_xen():
|
||||||
+ formats = ["raw", "qcow2", "qed", "vmdk", "vdi"]
|
+ formats = ["raw", "qcow2"]
|
||||||
+ else:
|
+ else:
|
||||||
+ formats = ["raw", "qcow2", "qed"]
|
+ formats = ["raw", "qcow2", "qed"]
|
||||||
+ if not vm.stable_defaults():
|
+ if not vm.stable_defaults():
|
Loading…
Reference in New Issue
Block a user