Commit 12f2cc7d authored by Guido Günther's avatar Guido Günther

drop patches

fixed upstream:
	0007-populate-hostinfo-earlier-in-tick-function-so-it-isn.patch

applied ustream:
	0002-check-for-qemu-session-instead-of-uid-0.patch
	0003-start-network-if-it-s-not-already-active.patch
	0004-cd-chooser-fixes.patch
	0005-clear-list-of-optical-devices.patch
	0006-fix-sorting-exceptions.patch
	0008-qemu-session-can-t-write-to-the-pool-so-use-curren.patch
	0009-allow-non-root-users-for-ssh-connections.patch
parent 4a55e794
From 85bc65cd8f77a11378bb0cbebad39fcd69c39e18 Mon Sep 17 00:00:00 2001
From: Guido Guenther <agx@sigxcpu.org>
Date: Tue, 23 Sep 2008 09:59:11 +0200
Subject: [PATCH] check for qemu session instead of uid != 0
allows to manage kvm/qemu network hardware as non root
---
src/virtManager/addhardware.py | 17 +++++++++--------
src/virtManager/connection.py | 6 ++++++
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py
index fb29b67..c2b6147 100644
--- a/src/virtManager/addhardware.py
+++ b/src/virtManager/addhardware.py
@@ -217,11 +217,10 @@ class vmmAddHardware(gobject.GObject):
model = self.window.get_widget("hardware-type").get_model()
model.clear()
model.append(["Storage device", gtk.STOCK_HARDDISK, PAGE_DISK])
- # Can't use shared or virtual networking as regular user
+ # Can't use shared or virtual networking in qemu:///session
# Can only have one usermode network device
- if (os.getuid() == 0 or
- (self.vm.get_connection().get_type().lower() == "qemu" and
- len(self.vm.get_network_devices()) == 0)):
+ if not self.vm.get_connection().is_qemu_session() or \
+ len(self.vm.get_network_devices()) == 0:
model.append(["Network card", gtk.STOCK_NETWORK, PAGE_NETWORK])
# Can only customize HVM guests, no Xen PV
@@ -242,7 +241,8 @@ class vmmAddHardware(gobject.GObject):
hwtype = self.get_config_hardware_type()
if notebook.get_current_page() == PAGE_INTRO and \
- (hwtype != PAGE_NETWORK or os.getuid() == 0):
+ (hwtype != PAGE_NETWORK or \
+ not self.vm.get_connection().is_qemu_session()):
notebook.set_current_page(hwtype)
else:
notebook.set_current_page(PAGE_SUMMARY)
@@ -255,7 +255,8 @@ class vmmAddHardware(gobject.GObject):
if notebook.get_current_page() == PAGE_SUMMARY:
hwtype = self.get_config_hardware_type()
- if hwtype == PAGE_NETWORK and os.getuid() != 0:
+ if hwtype == PAGE_NETWORK and \
+ self.vm.get_connection().is_qemu_session():
notebook.set_current_page(PAGE_INTRO)
else:
notebook.set_current_page(hwtype)
@@ -344,7 +345,7 @@ class vmmAddHardware(gobject.GObject):
return None
def get_config_network(self):
- if os.getuid() != 0:
+ if self.vm.get_connection().is_qemu_session():
return ["user"]
if self.window.get_widget("net-type-network").get_active():
@@ -496,7 +497,7 @@ class vmmAddHardware(gobject.GObject):
self.close()
def add_network(self):
- if self._dev is None and os.getuid() != 0:
+ if self._dev is None and self.vm.get_connection().is_qemu_session():
self._dev = virtinst.VirtualNetworkInterface(type="user")
self._dev.setup(self.vm.get_connection().vmm)
self.add_device(self._dev.get_xml_config())
diff --git a/src/virtManager/connection.py b/src/virtManager/connection.py
index 4e5e034..6e240e7 100644
--- a/src/virtManager/connection.py
+++ b/src/virtManager/connection.py
@@ -347,6 +347,12 @@ class vmmConnection(gobject.GObject):
except:
return True
+ def is_qemu_session(self):
+ (scheme, username, netloc, path, query, fragment) = uri_split(self.uri)
+ if path == "/session" and scheme.startswith("qemu"):
+ return True
+ return False
+
def get_uri(self):
return self.uri
--
1.5.6.5
From 080e40149948c0628efff4c4c443ab5132567227 Mon Sep 17 00:00:00 2001
From: Guido Guenther <agx@sigxcpu.org>
Date: Thu, 25 Sep 2008 12:24:42 +0200
Subject: [PATCH] start network if it's not already active
Closes: #499867
---
src/virtManager/create.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/virtManager/create.py b/src/virtManager/create.py
index 9bf6ed5..6c3448b 100644
--- a/src/virtManager/create.py
+++ b/src/virtManager/create.py
@@ -627,6 +627,12 @@ class vmmCreate(gobject.GObject):
except ValueError, e:
return self.err.val_err(_("Failed to set up usermode networking"), str(e))
+ if self._net.type == "network":
+ if self._net.network not in self.connection.vmm.listNetworks():
+ net = self.connection.vmm.networkLookupByName(self._net.network)
+ net.create()
+ logging.info("Startet network '%s'." % self._net.network)
+
if self._disk is not None:
guest.disks = [self._disk]
else:
--
1.5.6.5
From e5539a453ccae0b815795ea60178fad2a372ae7b Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Thu, 2 Oct 2008 16:33:33 +0200
Subject: [PATCH] cd-chooser fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
HG changeset patch
User "Guido Günther <agx@sigxcpu.org>"
Date 1222957855 -7200
Node ID a510b28cd7f71f5c5871089f60369f327c83b6d3
Parent 003db80b54c615696cac682c1c74f696f1f30d45
User "Guido Günther <agx@sigxcpu.org>"
call populate_opt_media when the widget gets activated
not when it gets deactivated. Also select the first entry since we always have
one. Prevents the physical media combo box from suddenly becomming empty.
HG changeset patch
User "Guido Günther <agx@sigxcpu.org>"
Date 1222957947 -7200
Node ID 071a45834084fed40d0d4b5cbc5113a3d98f9378
Parent a510b28cd7f71f5c5871089f60369f327c83b6d3
call populate_opt_media on reset_state
this way the physical media combo box isn't empty when we show the dialog for
the first time
---
src/virtManager/choosecd.py | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/virtManager/choosecd.py b/src/virtManager/choosecd.py
index 3e04497..cde714e 100644
--- a/src/virtManager/choosecd.py
+++ b/src/virtManager/choosecd.py
@@ -89,6 +89,8 @@ class vmmChooseCD(gobject.GObject):
else:
self.window.get_widget("physical-media").set_sensitive(True)
self.window.get_widget("iso-file-chooser").set_sensitive(True)
+ self.populate_opt_media()
+ self.window.get_widget("cd-path").set_active(0)
def ok(self,ignore1=None, ignore2=None):
if self.window.get_widget("iso-image").get_active():
@@ -114,6 +116,8 @@ class vmmChooseCD(gobject.GObject):
def media_toggled(self, ignore1=None, ignore2=None):
if self.window.get_widget("physical-media").get_active():
+ self.populate_opt_media()
+ self.window.get_widget("cd-path").set_active(0)
self.window.get_widget("cd-path").set_sensitive(True)
self.window.get_widget("iso-path").set_sensitive(False)
self.window.get_widget("iso-file-chooser").set_sensitive(False)
@@ -121,7 +125,6 @@ class vmmChooseCD(gobject.GObject):
self.window.get_widget("cd-path").set_sensitive(False)
self.window.get_widget("iso-path").set_sensitive(True)
self.window.get_widget("iso-file-chooser").set_sensitive(True)
- self.populate_opt_media()
def change_cd_path(self, ignore1=None, ignore2=None):
pass
--
1.6.0.1
From 01a5f7597878b1734223b339ec4bb0d48984c8ca Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Thu, 2 Oct 2008 16:35:53 +0200
Subject: [PATCH] clear list of optical devices
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
HG changeset patch
User "Guido Günther <agx@sigxcpu.org>"
Date 1222955007 -7200
Node ID 003db80b54c615696cac682c1c74f696f1f30d45
Parent 4fd6f98665254b623268f6019ec6ffb72189e82f
otherwise we keep adding the same device over and over again
---
src/virtManager/opticalhelper.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/virtManager/opticalhelper.py b/src/virtManager/opticalhelper.py
index 62ed031..1e394dd 100644
--- a/src/virtManager/opticalhelper.py
+++ b/src/virtManager/opticalhelper.py
@@ -45,6 +45,7 @@ class vmmOpticalDriveHelper(gobject.GObject):
# get a list of optical devices with data discs in, for FV installs
vollabel = {}
volpath = {}
+ self.model.clear()
# Track device add/removes so we can detect newly inserted CD media
self.hal_iface.connect_to_signal("DeviceAdded", self._device_added)
self.hal_iface.connect_to_signal("DeviceRemoved", self._device_removed)
--
1.6.0.1
From af8711ceeeb5e2da63f2e569b660379e72c26f85 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Thu, 2 Oct 2008 22:15:19 +0200
Subject: [PATCH] fix sorting exceptions
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
HG changeset patch
User "Guido Günther <agx@sigxcpu.org>"
Date 1222969422 -7200
Node ID d37eb13391d555c4abcee0ef13d1d484f021b655
Parent 6c334338589672a71cd45185faca46c41e17c6a9
---
src/virtManager/manager.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/virtManager/manager.py b/src/virtManager/manager.py
index 63e9ea6..ecc1480 100644
--- a/src/virtManager/manager.py
+++ b/src/virtManager/manager.py
@@ -898,10 +898,10 @@ class vmmManager(gobject.GObject):
return cmp(model.get_value(iter1, ROW_NAME), model.get_value(iter2, ROW_NAME))
def vmlist_cpu_usage_sorter(self, model, iter1, iter2):
- return cmp(model.get_value(iter1, ROW_HANDLE).cpu_time(), model.get_value(iter2, ROW_HANDLE).cpu_time())
+ return cmp(model.get_value(iter1, ROW_HANDLE).cpu_time_percentage(), model.get_value(iter2, ROW_HANDLE).cpu_time_percentage())
def vmlist_memory_usage_sorter(self, model, iter1, iter2):
- return cmp(model.get_value(iter1, ROW_HANDLE).get_memory(), model.get_value(iter2, ROW_HANDLE).get_memory())
+ return cmp(model.get_value(iter1, ROW_HANDLE).current_memory_percentage(), model.get_value(iter2, ROW_HANDLE).current_memory_percentage())
def vmlist_disk_usage_sorter(self, model, iter1, iter2):
return cmp(model.get_value(iter1, ROW_HANDLE).disk_usage(), model.get_value(iter2, ROW_HANDLE).disk_usage())
--
1.6.0.1
From e5f355eb86dd34840f4de5c9e9fff6455790ad9c Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 7 Oct 2008 08:49:58 +0200
Subject: [PATCH] populate hostinfo earlier in tick function so it isn't accessed uninitialized.
HG changeset patch
User "Cole Robinson <crobinso@redhat.com>"
Date Mon Oct 06 13:21:06 2008 -0400
Node ID 270e1697b81ac143df54e111e2e1bed5006ad49c
parent: 9f5d5b6940c5a266f7b3a087f41face4713feec2
---
src/virtManager/connection.py | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/virtManager/connection.py b/src/virtManager/connection.py
index 6e240e7..77b1ef5 100644
--- a/src/virtManager/connection.py
+++ b/src/virtManager/connection.py
@@ -866,6 +866,8 @@ class vmmConnection(gobject.GObject):
if self.state != self.STATE_ACTIVE:
return
+ self.hostinfo = self.vmm.getInfo()
+
# Poll for new virtual network objects
(startNets, stopNets, newNets,
oldNets, self.nets) = self._update_nets()
@@ -908,10 +910,6 @@ class vmmConnection(gobject.GObject):
# Finally, we sample each domain
now = time()
- try:
- self.hostinfo = self.vmm.getInfo()
- except:
- logging.warn("Unable to get host information")
updateVMs = self.vms
if noStatsUpdate:
--
1.6.0.1
From 04d2ced0399ba2333e93ae98c150730b9e1574fe Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 14 Oct 2008 20:59:41 +0200
Subject: [PATCH] qemu://session can't write to the pool so use current directory
---
src/virtManager/config.py | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/virtManager/config.py b/src/virtManager/config.py
index da8d6db..9d7d6fd 100644
--- a/src/virtManager/config.py
+++ b/src/virtManager/config.py
@@ -380,10 +380,9 @@ class vmmConfig:
def get_default_image_dir(self, connection):
if connection.get_type() == "Xen":
return DEFAULT_XEN_IMAGE_DIR
- #elif os.access(DEFAULT_VIRT_IMAGE_DIR, os.W_OK):
- # return DEFAULT_VIRT_IMAGE_DIR
- #else:
- # return os.getcwd()
+
+ if connection.is_qemu_session():
+ return os.getcwd()
# Just return the default dir since the intention is that it
# is a managed pool and the user will be able to install to it.
--
1.6.0.1
From 0d49c956e6c5e0a3b5965b8dd4f70d3e8629a634 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Thu, 4 Dec 2008 20:36:27 +0100
Subject: [PATCH] allow non root users for ssh connections
by specifying user@host in the "Add connection..." dialog. Default to
root if no name was given.
---
src/virtManager/connect.py | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/virtManager/connect.py b/src/virtManager/connect.py
index dcb9278..33a173b 100644
--- a/src/virtManager/connect.py
+++ b/src/virtManager/connect.py
@@ -217,6 +217,11 @@ class vmmConnect(gobject.GObject):
auto = self.window.get_widget("autoconnect").get_active()
uri = None
+ if conn == CONN_SSH and '@' in host:
+ user, host = host.split('@',1)
+ else:
+ user = "root"
+
readOnly = None
if hv == -1:
pass
@@ -226,7 +231,8 @@ class vmmConnect(gobject.GObject):
elif conn == CONN_TLS:
uri = "xen+tls://" + host + "/"
elif conn == CONN_SSH:
- uri = "xen+ssh://root@" + host + "/"
+
+ uri = "xen+ssh://" + user + "@" + host + "/"
elif conn == CONN_TCP:
uri = "xen+tcp://" + host + "/"
else:
@@ -235,7 +241,7 @@ class vmmConnect(gobject.GObject):
elif conn == CONN_TLS:
uri = "qemu+tls://" + host + "/system"
elif conn == CONN_SSH:
- uri = "qemu+ssh://root@" + host + "/system"
+ uri = "qemu+ssh://" + user + "@" + host + "/system"
elif conn == CONN_TCP:
uri = "qemu+tcp://" + host + "/system"
--
1.6.0.3
0001-use-usr-share-gconf-for-schema-data.patch
0002-check-for-qemu-session-instead-of-uid-0.patch
0003-start-network-if-it-s-not-already-active.patch
0004-cd-chooser-fixes.patch
0005-clear-list-of-optical-devices.patch
0006-fix-sorting-exceptions.patch
0007-populate-hostinfo-earlier-in-tick-function-so-it-isn.patch
0008-qemu-session-can-t-write-to-the-pool-so-use-curren.patch
0009-allow-non-root-users-for-ssh-connections.patch
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment