On Fri, Jul 29, 2022 at 08:18:17AM +0200, Erik Skultety wrote: > On Wed, Jul 27, 2022 at 01:18:00PM -0400, Carol Bouchard wrote: > > I have a Fedora36 laptop which hosts VMs with RHEL7 using libvirt. One of > > the RHEL7 VMs, runs remote commands (as root) to 'start' another VM by > > way of my laptop. In other words, the following command is run: > > virsh --connect 'qemu+ssh://192.168.120.1/system' start > > beaker-test-vm1.beaker > > If I run non-remote version of the command on the laptop, it is successful. > > For example, > > virsh --connect qemu:///system start beaker-test-vm1.beaker <-- Successful > > on laptop. > > > > If I do a query like the following *(notice socket use)*, it is successful. > > virsh -d0 --connect > > 'qemu+ssh://192.168.120.1/system?*socket*=/var/run/libvirt/libvirt-sock-ro' > > domstate beaker-test-vm1.beaker > > > > Without socket, I get the following error: > > > > *error: failed to connect to the hypervisor* > > > > *error: End of file while reading data: Ncat: No such file or directory.: > > Input/output error* > > > > This does not work for 'start' because I believe this is a read-only socket > > since I see the error: > > error: Failed to start domain beaker-test-vm1.beaker > > error: operation forbidden: read only access prevents virDomainCreate > > > > When I look at my laptop, there is no /var/run/libvirt/libvirt-sock. > > So.....I've been wondering > > whether RHEL7 virsh/libvirt is compatible with Fedora36. Is there a > > work-around? I can't > > change the distros on my laptop or VMs. > > Hello, > since Fedora 35 libvirt has used the modular daemons architecture. What this > means for you (and appears very confusing) is that when you try starting a VM > locally on your F36 laptop, your virsh client doesn't connect to libvirt-sock > anymore, there's a dedicated connection socket for each of the daemons now and > instead will connect to virtqemud-sock. > Now, old virsh clients like the one you have on your RHEL7 don't know about > this and expect to connect to libvirt-sock instead. In order to create that > socket and restore functionality for old clients you need to start and enable > the virtproxyd.socket systemd unit which proxies old client connections to the > new sockets we have. Why the virtproxyd socket isn't running by default unless > you disabled it beats me, since: > > $ systemctl status virtproxyd > Loaded: loaded (/usr/lib/systemd/system/virtproxyd.socket; enabled; vendor preset: enabled) > ^^^here^^^ > > is set correctly after installation. > Anyhow, just do: > $ sudo systemctl enable --now virtproxyd.socket > > on your laptop and you're good to go > > Regards, > Erik > > So, if you don't have the libvirt-sock created that means the virtproxyd.socket > systemd unit isn't active. Just enable the socket and try again. > > Here, I simulated it for you with my VMs: > > VM1: > $ cat /etc/os-release > NAME="Fedora Linux" > VERSION="36 (Thirty Six)" > ... Uhm, sorry for the noise in ^this very last paragraph, it's a leftover draft of my response... Erik