Re: how to change emulator path during live migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Wed, Apr 27, 2022 at 14:11:23 +0800, Jiatong Shen wrote:
> Hello libvirt experts,
>   I am facing the following exceptions during live migrating a virtual
> machine from one compute node to another.
> file or directory: libvirt.libvirtError: Cannot check QEMU binary
> /usr/bin/kvm-spice: No such file or directory
>   File "/var/lib/openstack/lib/python3.6/site-packages/eventlet/",
> line 83, in tworker
>     rv = meth(*args, **kwargs)
>   File "/var/lib/openstack/lib/python3.6/site-packages/", line
> 1745, in migrateToURI3
>     if ret == -1: raise libvirtError ('virDomainMigrateToURI3() failed',
> dom=self)
> libvirt.libvirtError: Cannot check QEMU binary /usr/bin/kvm-spice: No such
> file or directory
> After some investigation, we found that this error is triggered because we
> do not have qemu-kvm installed in our container, btw the libvirt is
> directly installed on the source node.
> I have following questions
> Is it possible to change emulator during live migration? I try to to remove
> emulator under devices but looks like it does not help.

The migration API you've used (virDomainMigrateToURI3) supports
additional parameters. One of the supported parameters is:


 * virDomainMigrate* params field: the new configuration to be used for the
 * domain on the destination host as VIR_TYPED_PARAM_STRING. The configuration
 * must include an identical set of virtual devices, to ensure a stable guest
 * ABI across migration. Only parameters related to host side configuration
 * can be changed in the XML. Hypervisors which support this field will forbid
 * migration if the provided XML would cause a change in the guest ABI. This
 * field cannot be used to rename the domain during migration (use
 * VIR_MIGRATE_PARAM_DEST_NAME field for that purpose). Domain name in the
 * destination XML must match the original domain name.
 * Omitting this parameter keeps the original domain configuration. Using this
 * field with hypervisors that do not support changing domain configuration
 * during migration will result in a failure.
 * Since: v1.1.0

So you fetch a migratable version of the XML (VIR_DOMAIN_XML_MIGRATABLE
flag for the XML dumping API) and update the emulator path. Then feed it
as the additional parameter

[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux