[fedora-virt-maint] rpms/virt-manager/F-10 virt-manager-0.6.1-migrate-fixes.patch, NONE, 1.1 virt-manager-0.6.1-rhel-fixes.patch, NONE, 1.1 virt-manager.spec, 1.40, 1.41

Cole Robinson crobinso at fedoraproject.org
Mon Sep 14 01:01:42 UTC 2009


Author: crobinso

Update of /cvs/pkgs/rpms/virt-manager/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6875

Modified Files:
	virt-manager.spec 
Added Files:
	virt-manager-0.6.1-migrate-fixes.patch 
	virt-manager-0.6.1-rhel-fixes.patch 
Log Message:
Fix migration for qemu/kvm guests (bz 517548)
Back compat fixes for connecting to older xen installations (bz 489885)


virt-manager-0.6.1-migrate-fixes.patch:
 new/src/virtManager/domain.py |   10 +++++++---
 src/virtManager/details.py    |   11 +++++------
 src/virtManager/engine.py     |   13 ++++++++++++-
 src/virtManager/manager.py    |   11 ++++-------
 4 files changed, 28 insertions(+), 17 deletions(-)

--- NEW FILE virt-manager-0.6.1-migrate-fixes.patch ---
# HG changeset patch
# User Cole Robinson <crobinso at redhat.com>
# Date 1236630113 14400
# Node ID 6126a50801deafa155b17b66cfc3008ffe584b24
# Parent  3f37d0519b1750666e88e7eaef8d5dfaafc34237
Fix conn uri lookup for domain migration.

diff -r 3f37d0519b17 -r 6126a50801de src/virtManager/details.py
--- a/src/virtManager/details.py	Mon Mar 09 16:21:32 2009 -0400
+++ b/src/virtManager/details.py	Mon Mar 09 16:21:53 2009 -0400
@@ -719,12 +719,11 @@
 
     def control_vm_migrate(self, src):
         # get selected submenu(destination hostname)
-        hostname = self.window.get_widget("details-menu-migrate_menu").get_active().get_image().get_stock()[0]
-        for key in self.engine.connections.keys():
-            if self.engine.get_connection(key).get_hostname() == hostname:
-                host_uri = key
-                break
-        self.emit("action-migrate-domain", self.vm.get_connection().get_uri(), self.vm.get_uuid(), host_uri)
+        info = self.window.get_widget("details-menu-migrate_menu").get_active().get_image().get_stock()[0]
+        hostname = info.split(" ")[0]
+
+        self.emit("action-migrate-domain", self.vm.get_connection().get_uri(),
+                  self.vm.get_uuid(), hostname)
 
     def set_migrate_menu(self):
         menu = self.window.get_widget("details-menu-migrate_menu")
diff -r 3f37d0519b17 -r 6126a50801de src/virtManager/engine.py
--- a/src/virtManager/engine.py	Mon Mar 09 16:21:32 2009 -0400
+++ b/src/virtManager/engine.py	Mon Mar 09 16:21:53 2009 -0400
@@ -527,7 +527,18 @@
         else:
             logging.warning("Reboot requested, but machine is already shutting down / shutoff")
 
-    def migrate_domain(self, uri, uuid, desturi):
+    def migrate_domain(self, uri, uuid, desthost):
+        desturi = None
+        for key in self.connections.keys():
+            if self.get_connection(key).get_hostname() == desthost:
+                desturi = key
+                break
+
+        if desturi == None:
+            logging.debug("Could not find dest uri for migrate hostname: %s"
+                          % desthost)
+            return
+
         conn = self.get_connection(uri, False)
         vm = conn.get_vm(uuid)
         destconn = self.get_connection(desturi, False)
diff -r 3f37d0519b17 -r 6126a50801de src/virtManager/manager.py
--- a/src/virtManager/manager.py	Mon Mar 09 16:21:32 2009 -0400
+++ b/src/virtManager/manager.py	Mon Mar 09 16:21:53 2009 -0400
@@ -1100,14 +1100,11 @@
 
     def migrate(self, ignore):
         vm = self.current_vm()
-        # get selected submenu(destination hostname)
-        hostname = self.vmmenumigrate.get_active().get_image().get_stock()[0]
-        for key in self.engine.connections.keys():
-            if self.engine.get_connection(key).get_hostname() == hostname:
-                host_uri = key
-                break
+        label = self.vmmenumigrate.get_active().get_image().get_stock()[0]
+        hostname = label.split(" ")[0]
         if vm is not None:
-            self.emit("action-migrate-domain", vm.get_connection().get_uri(), vm.get_uuid(), host_uri)
+            self.emit("action-migrate-domain", vm.get_connection().get_uri(),
+                      vm.get_uuid(), hostname)
 
     def set_migrate_submenu(self, src):
         self.engine.populate_migrate_menu(self.vmmenumigrate, self.migrate)
diff -rup virt-manager-0.6.1/src/virtManager/domain.py new/src/virtManager/domain.py
--- virt-manager-0.6.1/src/virtManager/domain.py	2009-09-13 20:25:12.000000000 -0400
+++ new/src/virtManager/domain.py	2009-09-13 20:24:29.000000000 -0400
@@ -1293,11 +1293,15 @@ class vmmDomain(gobject.GObject):
         else:
             self._disk_io = self._sample_disk_io_dummy
 
-
-    def migrate(self, dictcon):
+    def migrate(self, destconn):
         flags = 0
         if self.lastStatus == libvirt.VIR_DOMAIN_RUNNING:
             flags = libvirt.VIR_MIGRATE_LIVE
-        self.vm.migrate(self.connection.vmm, flags, None, dictcon.get_short_hostname(), 0)
+
+        newxml = self.get_xml()
+
+        self.vm.migrate(destconn.vmm, flags, None, None, 0)
+
+        destconn.define_domain(newxml)
 
 gobject.type_register(vmmDomain)

virt-manager-0.6.1-rhel-fixes.patch:
 details.py |    2 +-
 domain.py  |   29 +++++++++++++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

--- NEW FILE virt-manager-0.6.1-rhel-fixes.patch ---
# HG changeset patch
# User Cole Robinson <crobinso at redhat.com>
# Date 1236957667 14400
# Node ID 4331403b2e66dafdda618283dcea259a66fba423
# Parent  89c007e38850e1283447ea4c19ff6f64ce6224b6
Fix xml parsing for old style 'console' xml.

diff -r 89c007e38850 -r 4331403b2e66 src/virtManager/details.py
--- a/src/virtManager/details.py	Mon Mar 09 23:38:03 2009 -0400
+++ b/src/virtManager/details.py	Fri Mar 13 11:21:07 2009 -0400
@@ -1106,7 +1106,7 @@
                                              _("(Primary Console)") or "")
         self.window.get_widget("char-type").set_markup(typelabel)
         self.window.get_widget("char-dev-type").set_text(charinfo[4] or "-")
-        self.window.get_widget("char-target-port").set_text(charinfo[3])
+        self.window.get_widget("char-target-port").set_text(charinfo[3] or "")
         self.window.get_widget("char-source-path").set_text(charinfo[5] or "-")
 
     def refresh_hostdev_page(self):
diff -r 89c007e38850 -r 4331403b2e66 src/virtManager/domain.py
--- a/src/virtManager/domain.py	Mon Mar 09 23:38:03 2009 -0400
+++ b/src/virtManager/domain.py	Fri Mar 13 11:21:07 2009 -0400
@@ -806,7 +806,7 @@
         def _parse_char_devs(ctx):
             chars = []
             devs  = []
-            devs = ctx.xpathEval("/domain/devices/console")
+            devs.extend(ctx.xpathEval("/domain/devices/console"))
             devs.extend(ctx.xpathEval("/domain/devices/parallel"))
             devs.extend(ctx.xpathEval("/domain/devices/serial"))
 
@@ -822,7 +822,7 @@
                 target_port = None
                 source_path = None
 
-                for child in node.children:
+                for child in node.children or []:
                     if child.name == "target":
                         target_port = child.prop("port")
                     if child.name == "source":
# HG changeset patch
# User Cole Robinson <crobinso at redhat.com>
# Date 1236969355 14400
# Node ID 403916479f503f79f23bb682698b38f595eb0626
# Parent  81c591e8c64053840c12dac67ee06b5b97d419e7
Handle old style 'console' tag in 'Connect to serial' list.

diff -r 81c591e8c640 -r 403916479f50 src/virtManager/domain.py
--- a/src/virtManager/domain.py	Fri Mar 13 14:35:28 2009 -0400
+++ b/src/virtManager/domain.py	Fri Mar 13 14:35:55 2009 -0400
@@ -606,8 +606,9 @@
         def _parse_serial_consoles(ctx):
             # [ Name, device type, source path
             serial_list = []
-            devs = ctx.xpathEval("/domain/devices/serial")
-            for node in devs:
+            sdevs = ctx.xpathEval("/domain/devices/serial")
+            cdevs = ctx.xpathEval("/domain/devices/console")
+            for node in sdevs:
                 name = "Serial "
                 dev_type = node.prop("type")
                 source_path = None
@@ -622,6 +623,26 @@
 
                 serial_list.append([name, dev_type, source_path])
 
+            for node in cdevs:
+                name = "Serial Console"
+                dev_type = "pty"
+                source_path = None
+                inuse = False
+
+                for child in node.children:
+                    if child.name == "source":
+                        source_path = child.prop("path")
+                        break
+
+                if source_path:
+                    for dev in serial_list:
+                        if source_path == dev[2]:
+                            inuse = True
+                            break
+
+                if not inuse:
+                    serial_list.append([name, dev_type, source_path])
+
             return serial_list
         return self._parse_device_xml(_parse_serial_consoles)
 


Index: virt-manager.spec
===================================================================
RCS file: /cvs/pkgs/rpms/virt-manager/F-10/virt-manager.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -p -r1.40 -r1.41
--- virt-manager.spec	4 Mar 2009 18:28:24 -0000	1.40
+++ virt-manager.spec	14 Sep 2009 01:01:38 -0000	1.41
@@ -8,7 +8,7 @@
 
 Name: virt-manager
 Version: 0.6.1
-Release: 1%{_extra_release}
+Release: 2%{_extra_release}
 Summary: Virtual Machine Manager
 
 Group: Applications/Emulators
@@ -18,6 +18,11 @@ Source0: http://virt-manager.org/downloa
 Patch1: %{name}-%{version}-update-polish.patch
 Patch2: %{name}-%{version}-fix-cadl.patch
 Patch3: %{name}-%{version}-fix-stats-prefs.patch
+# Fix migration for qemu/kvm guests (bz 517548)
+Patch4: %{name}-%{version}-migrate-fixes.patch
+# Back compat fixes for connecting to older xen installations (bz 489885)
+Patch5: %{name}-%{version}-rhel-fixes.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 # These two are just the oldest version tested
@@ -92,6 +97,8 @@ management API.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 %configure
@@ -169,6 +176,10 @@ fi
 %{_datadir}/dbus-1/services/%{name}.service
 
 %changelog
+* Sun Sep 13 2009 Cole Robinson <crobinso at redhat.com> - 0.6.1-2.fc10
+- Fix migration for qemu/kvm guests (bz 517548)
+- Back compat fixes for connecting to older xen installations (bz 489885)
+
 * Wed Mar  4 2009 Cole Robinson <crobinso at redhat.com> - 0.6.1-1.fc10
 - Update to 0.6.1 release
 - Disk and Network VM stats reporting




More information about the Fedora-virt-maint mailing list