Comment 8 for bug 1625542

Revision history for this message
Timo Koehler (tikoehle) wrote :

After a reboot and restart of ovs-vswitchd I have seen these EAL logs pointing to the problem:

EAL: vhost-user socket cannot set permissions to 0664 (Unknown error -1).
EAL: vhost-user socket unable to set ownership to libvirt-qemu:kvm (Unknown error -1).
VHOST_CONFIG: vhost-user server: socket created, fd: 41
VHOST_CONFIG: bind to /var/run/openvswitch/vhu6ef65d50-d7

Then I looked into vhost-net-user.c:rte_vhost_driver_register(). I have seen that rte_eal_set_socket_permissions(path) is done before the socket actually created and then I moved this call into vhost_user_create_server() after bind() and it started to work. Attached is the patch. I hope that makes sense (also need this in vhost_user_create_client() ?) . After rebuilding dpdk and restart ovs-vswitchd it looks better and nova boot now works.

Starting ovs-vswitchd:
:::
Zone 0: name:<rte_eth_dev_data>, phys:0x1bfffced40, len:0x30100, virt:0x7f40fffced40, socket_id:1, flags:0
VHOST_CONFIG: vhost-user server: socket created, fd: 41
VHOST_CONFIG: bind to /var/run/openvswitch/vhu6c018db8-c2
EAL: Socket /var/run/openvswitch/vhu6c018db8-c2 changed permissions to 0664
EAL: Socket /var/run/openvswitch/vhu6c018db8-c2 changed ownership to libvirt-qemu:kvm.
VHOST_CONFIG: vhost-user server: socket created, fd: 48
VHOST_CONFIG: bind to /var/run/openvswitch/vhu6ef65d50-d7
EAL: Socket /var/run/openvswitch/vhu6ef65d50-d7 changed permissions to 0664
EAL: Socket /var/run/openvswitch/vhu6ef65d50-d7 changed ownership to libvirt-qemu:kvm.

root@compute29:~# ll /var/run/openvswitch/
:::
srw-rw-r-- 1 libvirt-qemu kvm 0 Sep 26 11:09 vhu6c018db8-c2=
srw-rw-r-- 1 libvirt-qemu kvm 0 Sep 26 11:09 vhu6ef65d50-d7=
srw-rw-r-- 1 libvirt-qemu kvm 0 Sep 26 11:16 vhu927b950f-f1= <<---- nova booted new vm