Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

live migration qemu address resolution

I provisioned an all-in-one server ("controller") and a compute node on two virtual machines with Packstack (Newton). The hypervisor is libvirt/qemu. The purpose is to experiment with live migration.

Problem: I can live-migrate an instance from controller to compute but not the other way around. After a failed migration compute->controller, I find the following error in /var/log/libvirt/libvirtd.log on the compute node:

2017-02-20 05:56:29.084+0000: 13550: debug : qemuMonitorJSONCheckError:376 : unable to execute QEMU command {"execute":"drive-mirror","arguments":{"device":"drive-virtio-disk0","target":"nbd:controller:49153:exportname=drive-virtio-disk0","speed":9223372036853727232,"sync":"top","mode":"existing","format":"raw"},"id":"libvirt-41"}: {"id":"libvirt-41","error":{"class":"GenericError","desc":"address resolution failed for controller:49153: Name or service not known"}}

When I migrate successfully in the other direction, I see the same drive-mirror command (except "controller" is replaced by "compute1") but without error.

Where does the address resolution error come from? Is it name resolution? As user qemu, I can ping controller from the compute node, and also ping controller.home (the FQDN).

Where can I start troubleshooting this?

live migration qemu address resolution

I provisioned an all-in-one server ("controller") and a compute node on two virtual machines with Packstack (Newton). The hypervisor is libvirt/qemu. The purpose is to experiment with live migration.

Problem: I can live-migrate an instance from controller to compute but not the other way around. After a failed migration compute->controller, I find the following error in /var/log/libvirt/libvirtd.log on the compute node:

2017-02-20 05:56:29.084+0000: 13550: debug : qemuMonitorJSONCheckError:376 : unable to execute QEMU command {"execute":"drive-mirror","arguments":{"device":"drive-virtio-disk0","target":"nbd:controller:49153:exportname=drive-virtio-disk0","speed":9223372036853727232,"sync":"top","mode":"existing","format":"raw"},"id":"libvirt-41"}: {"id":"libvirt-41","error":{"class":"GenericError","desc":"address resolution failed for controller:49153: Name or service not known"}}

When I migrate successfully in the other direction, I see the same drive-mirror command (except "controller" is replaced by "compute1") but without error.

Where does the address resolution error come from? Is it name resolution? As user qemu, I can ping controller from the compute node, and also ping controller.home (the FQDN).

Where can I start troubleshooting this?

live migration qemu address resolution

I provisioned an all-in-one server ("controller") and a compute node on two virtual machines with Packstack (Newton). The hypervisor is libvirt/qemu. The purpose is to experiment with live migration.

Problem: I can live-migrate an instance from controller to compute but not the other way around. After a failed migration compute->controller, I find the following error in /var/log/libvirt/libvirtd.log on the compute node:

2017-02-20 05:56:29.084+0000: 13550: debug : qemuMonitorJSONCheckError:376 : unable to execute QEMU command {"execute":"drive-mirror","arguments":{"device":"drive-virtio-disk0","target":"nbd:controller:49153:exportname=drive-virtio-disk0","speed":9223372036853727232,"sync":"top","mode":"existing","format":"raw"},"id":"libvirt-41"}: {"id":"libvirt-41","error":{"class":"GenericError","desc":"address resolution failed for controller:49153: Name or service not known"}}

When I migrate successfully in the other direction, I see the same drive-mirror command (except "controller" is replaced by "compute1") but without error.

Where does the address resolution error come from? Is it name resolution? As user qemu, I can ping controller from the compute node, and also ping controller.home (the FQDN).

Where can I start troubleshooting this?