+++ This bug was initially created as a clone of Bug #1638889 +++ Description of problem: Libvirt prevents performing a live migration when the destination libvirt connection is a unix socket. In KubeVirt, we need the ability to tunnel a live migration through a unix socket to another network namespace which then connects to the destination libvirt. From the libvirtd perspective in the source environment, it looks like we're attempting to migrate the domain to the same host since the destination connection is a local unix socket. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. On the source node, create a socat connection that forwards all connections on a unix socket to a remote libvirtd instance. Example. socat unix-listen:local-destination-socket,reuseaddr,fork tcp:192.168.66.102:22222 2. Attempt to perform a live migration with the local unix socket 'local-destination-socket' as the destination. Example: virsh migrate --copy-storage-all --tunnelled --p2p --live --xml domain.xml my-vm qemu+unix:///system?socket=local-destination-socket Actual results: error "Attempt to migrate guest to the same host" Expected results: successful migration
In general I don't think we want to promote tunelled migration any more. There are many qemu features which now require separate connection. Please reopen this if you still think it's necessary with appropriate justification.