Description of problem:
virt-who uses libvirtd's read-only socket to connect to the daemon , but it doesn't require it at systemd unit level . This causes scenarios where one needs to put down whole libvirtd daemon with all its sockets unpredictable.
How reproducible: Always
Steps to Reproduce:
systemctl stop libvirt-who.service libvirtd-ro.socket libvirtd.service
systemctl start libvirt-who.service
The service is active, but it reports errors in log:
libvirt.libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock-ro': Connection refused
systemctl status libvirtd-ro.socket
shows that the socket is indeed stopped.
The opposite is also true - when both virt-who and libvirtd are running, this:
systemctl stop libvirtd.service libvirtd-ro.socket
should also stop virt-who, but it doesn't.
Starting virt-who.service should start libvirtd-ro.socket automatically and stopping libvirtd-ro.socket should stop virt-who.service.