mirror of
https://src.fedoraproject.org/rpms/virt-manager.git
synced 2025-07-16 09:04:55 +00:00
96 lines
4.1 KiB
Diff
96 lines
4.1 KiB
Diff
# HG changeset patch
|
|
# User Cole Robinson <crobinso@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)
|