Loading ccnode/libvirtwrapper.py +24 −0 Original line number Diff line number Diff line Loading @@ -566,6 +566,30 @@ class LibvirtVm(VM): raise VMError('deletion of VM `%s` failed' % self.get_name()) self._hv_handle._cache_vm_rebuild() def migrate(self, host, port): ''' ''' if self.hypervisor().get_hv_type() == 'xen': flags = (libvirt.VIR_MIGRATE_LIVE ^ libvirt.VIR_MIGRATE_PERSIST_DEST ^ libvirt.VIR_MIGRATE_UNDEFINE_SOURCE) uri = 'xenmigr://%s:%d' % (host, port) else: flags = (libvirt.VIR_MIGRATE_LIVE ^ libvirt.VIR_MIGRATE_PERSIST_DEST ^ libvirt.VIR_MIGRATE_UNDEFINE_SOURCE ^ libvirt.VIR_MIGRATE_PEER2PEER ^ libvirt.VIR_MIGRATE_TUNNELLED) uri = 'qemu+tcp://%s:%d/system' % (host, port) try: self._domain.migrate(self._hv_handle._lvcon_handle, flags, None, uri, 0) except libvirt.libvirtError as err: # FIXME ignore bogus exception properly if not ('no domain with matching name' in err.message or 'Domain not found' in err.message): raise err def power_on(self): ''' ''' Loading Loading
ccnode/libvirtwrapper.py +24 −0 Original line number Diff line number Diff line Loading @@ -566,6 +566,30 @@ class LibvirtVm(VM): raise VMError('deletion of VM `%s` failed' % self.get_name()) self._hv_handle._cache_vm_rebuild() def migrate(self, host, port): ''' ''' if self.hypervisor().get_hv_type() == 'xen': flags = (libvirt.VIR_MIGRATE_LIVE ^ libvirt.VIR_MIGRATE_PERSIST_DEST ^ libvirt.VIR_MIGRATE_UNDEFINE_SOURCE) uri = 'xenmigr://%s:%d' % (host, port) else: flags = (libvirt.VIR_MIGRATE_LIVE ^ libvirt.VIR_MIGRATE_PERSIST_DEST ^ libvirt.VIR_MIGRATE_UNDEFINE_SOURCE ^ libvirt.VIR_MIGRATE_PEER2PEER ^ libvirt.VIR_MIGRATE_TUNNELLED) uri = 'qemu+tcp://%s:%d/system' % (host, port) try: self._domain.migrate(self._hv_handle._lvcon_handle, flags, None, uri, 0) except libvirt.libvirtError as err: # FIXME ignore bogus exception properly if not ('no domain with matching name' in err.message or 'Domain not found' in err.message): raise err def power_on(self): ''' ''' Loading