[ovs-discuss] DPDK OVS on Ubuntu 15.04

Gabe Black Gabe.Black at viavisolutions.com
Tue Aug 18 23:32:56 UTC 2015

Hi Sean,

I have carried on where my colleague John Lange left off.  I have installed Ubuntu 15.04 which has kilo support but instead have used the devstack from https://github.com/openstack-dev/devstack to install everything.

For now, I am trying to get a single host set up to try and keep it as simple as possible.

I have used the sample configuration file you suggested for an all in one node provided here https://github.com/stackforge/networking-ovs-dpdk/blob/master/doc/source/_downloads/local.conf_example

Changes that I have made in order to get things to work on Ubuntu, are the following:



+    qemu_group=`id -ng $qemu_group`

Also lines 463, and 471 I changed the command running in the screen from running "sudo su -g $qemu_group ..." to "sg $qemu_group ..."


The reason for these changes is that on Ubuntu the "-g" option does not exist on the su command, so /etc/init.d/ovs-dpdk fails to start.  Also the name "libvirt-qemu" is not the group name, but rather the user.

It seems that with those changes devstack.sh is be able to complete.  


There were a few messages that made me wonder if all was well; for example the ovs-vswitchd.log file had the following:
2015-08-18T22:20:28Z|00011|dpif_netlink|ERR|Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded.

Also, creating the vhost user port resulted in the following: (note, the ovs-vsctl add-port... command to create the vhost-user did not complain)
VHOST_CONFIG: socket created, fd:52
VHOST_CONFIG: bind to /usr/var/run/openvswitch/vhost-user-1
2015-08-18T22:33:01Z|00077|dpdk|INFO|Socket /usr/var/run/openvswitch/vhost-user-1 created for vhost-user port vhost-user-1
2015-08-18T22:33:01Z|00078|dpif_netdev|ERR|Cannot create pmd threads due to out of unpinned cores on numa node
2015-08-18T22:33:01Z|00079|bridge|INFO|bridge br-p6p1: added interface vhost-user-1 on port 3 

I never attempted to pin any cores, but it made me wonder if something might be incomplete... (I'm running on a dual quad core (with hyperthreading)).


Anyway, I added the following sections to my VM's libvirt qemu xml (/etc/libvirt/qemu/ubuntutrusty.xml) file to try and have it take the vhost-user interface, as well as ensure the VM is backed by hugetable memory.  These are the sections I added:

Hugetable-backed memory:


Vhost-user interface (I tried using the <interface type="vhostuser">... but virsh edit would complain about it not validating against domain.rng... I thought it would be supported... running 1.2.12 )
    <qemu:arg value='-chardev'/>
    <qemu:arg value='socket,id=char1,path=/usr/var/run/openvswitch/vhost-user-1'/>
    <qemu:arg value='-netdev'/>
    <qemu:arg value='type=vhost-user,id=mynet1,chardev=char1,vhostforce'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='virtio-net-pci,mac=54:53:00:6a:b3:00,netdev=mynet1'/>

Ok, so this finally brings me to my query for assistance:  When I try and launch the VM (via virt-manager), it complains about two things:

1) "process exited while connecting to monitor: /usr/bin/kvm-spice: line 36: /tmp/qemu.orig: Permission denied"
- I tried chmod 777 that file just to allow anyone to write/access that file, and it is getting the command written to it, but that error message still shows... Don't know if that is important..

2) qemu-system-x86_64: -chardev socket,id=char1,path=/usr/var/run/openvswitch/vhost-user-1: Failed to connect to socket: Permission Denied. 

I've tried messing with group/user config variables in /etc/libvirt/qemu.conf and /etc/libvirt/libvirtd.conf but most of the time I then get devstack's n-cpu unable to connect to libvirtd (similar permission error).

I feel I am close, and would appreciate any advice you might have.

Very best,
Gabriel Black

More information about the discuss mailing list