On 03/11/2010 03:32 PM, Akemi Yagi wrote:
On Thu, Mar 11, 2010 at 12:19 PM, Tom Georgoulias tomg@mcclatchyinteractive.com wrote:
As test user "testu":
[testu@kvm ~]$ virsh -c qemu:///system list --all error: unable to connect to '/var/run/libvirt/libvirt-sock': Permission denied error: failed to connect to the hypervisor [testu@kvm ~]$ virsh -c qemu:///session list --all 15:04:05.167: error : No vport operation path found for host0 15:04:05.186: error : No vport operation path found for host4 15:04:05.192: error : No vport operation path found for host3 15:04:05.240: error : No vport operation path found for host1 15:04:05.240: error : No vport operation path found for host2 Id Name State
[testu@kvm ~]$
Doesn't seem like a socket access issue, the perms for the libvirt-sock-ro are wide open.
It says "unable to connect to '/var/run/libvirt/libvirt-sock'", not to 'libvirt-sock-ro'. Try manually changing it to look like:
srwxrwx--- 1 root testu 0 Mar 11 15:03 libvirt-sock
[This is how mine is configured]
But isn't that socket used for full domain management? I'm just using a read-only view in the python script ("conn = libvirt.openReadOnly(None)" ), which I thought was using /var/run/libvirt/libvirt-sock-ro.
Anyway, in the interest of an experiment, here's the results of changing group permissions to libvirt-sock:
[root@kvm libvirt]# service libvirtd restart Stopping libvirtd daemon: [ OK ] Starting libvirtd daemon: [ OK ] [root@kvm libvirt]# ls -l total 16 srwxrwx--- 1 root testu 0 Mar 11 15:03 libvirt-sock srwxrwxrwx 1 root testu 0 Mar 11 15:03 libvirt-sock-ro drwxr-xr-x 2 root root 4096 Mar 8 13:05 network drwxr-xr-x 2 root root 4096 Mar 11 15:37 qemu
[testu@kvm ~]$ virsh -c qemu:///system list --all Id Name State ---------------------------------- 8 changed running 12 changed2 running - changed3 shut off
Back to my script:
$ python Python 2.4.3 (#1, Sep 3 2009, 15:37:37) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import libvirt conn = libvirt.openReadOnly(None)
15:43:38.001: error : No vport operation path found for host0 15:43:38.020: error : No vport operation path found for host4 15:43:38.026: error : No vport operation path found for host3 15:43:38.069: error : No vport operation path found for host1 15:43:38.069: error : No vport operation path found for host2
domains = conn.listDomainsID() print domains
[]
So the virsh command works as expected, but not when I use python.
Tom