Microstack was setup as cluster with 2 computing nodes.
Version: microstack ussuri 222 latest/beta canonical✓ devmode
But libvirtd is default shipped only with sockets.
Change the configuration file:
/var/snap/microstack/common/libvirt/libvirtd.conf
to
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
LIBVIRTD_ARGS="--listen"
unix_sock_rw_perms = "0770"
unix_sock_dir = "/var/snap/microstack/common/run/libvirt"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
and restart the service did not help. How TCP listening can be enabled that remote connections are possible in this specific snapd environment ?
Error Message:
virsh -c qemu+tcp://node1/system list
error: failed to connect to the hypervisor
error: unable to connect to server at 'node1:16509': Connection refused
I ran into this same issue and finally tracked it down. Firstly there was a recent change in libvirt that results in it ignoring the port / listen arguments in libvirtd.conf reference. After some digging I noticed the requisite .socket files were not present in
/etc/systemd/system/
. To resolve the issue copy the following files:to
/etc/systemd/system/
. Next you'll need to make a few minor edits. In both libvirtd.socket and libvirtd-tcp.socket you'll change two lines:and in libvirtd-tcp
remove or comment the line
SocketGroup=libvirt from libvirtd.socket
next you'll runsystemctl daemon-reload
,systemctl enable libvirtd-tcp.socket
and lastlysystemctl enable libvirtd.socket
. Once that is done on any and all microstack compute / controller nodes reboot them and you should be able to live migrate instances between hosts.