Packstack live migration fails: qemu address resolution error
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?
Hmmmm, it should be still DNS stuff. Here is the workaround/fault isolation stuff: can you add entry for controller in /etc/hosts in that compute?
Well, it's in /etc/hosts already. But you get me thinking - perhaps I should disable DNS and only use /etc/hosts. If the problem occurs again (I am re-provisioning), I will try that.