[Bug 1546565] Re: Ownership/Permissions of vhost_user sockets for openvswitch-dpdk make them unusable by libvirt/qemu/kvm

ChristianEhrhardt 1546565 at bugs.launchpad.net
Thu Jul 7 05:36:10 UTC 2016


Hi Michael,
this seems to confuse people regularly, so instead of just answering questions as last time I went over the whole bug again to summarize. Thanks for being persistent pitti and mwhudson!

TL;DR
please unsubscribe sponsors and SRU Verification

Summary:

Upstream DPDK & Openvswitch (and libvirt):
This is a back and forth discussion who should fix it and who not. It is essentially looping around with no project accepting a fix yet and leaving the overall solution (OVS+DPDK on KVM Guests) unusable for end users.
That is why we carry the delta for now - DPDK to provide the option, Openvswitch to show an example how to exploit the option.

DPDK (fix to make option available):
- fixed in Yakkety 2.2.0-0ubuntu9
- fixed in Xenial 2.2.0-0ubuntu8
- Debian (I'm co-leading the Debian effort, the fix is in there already)

neutron-openvswitch Juju Charms Collection (exploit this from charms):
- already fixed in 4f6e2ca2 by James Page

Openvswitch (just add example to default config):
- the debdiff of #6 should have gone to Xenial
- since we now have yakkety I'll add another debdiff for yakkety
- Debian needs to get a recent Openvswitch first and the DPDK with the patch before we can push
- given that:
  - upstream hasn't decided on a solution yet
  - it is only the example that we wanted to be extended
  - it is covered in https://help.ubuntu.com/16.04/serverguide/DPDK.html#dpdk-openvswitch
  => I think we can drop this for now.

** Changed in: openvswitch (Ubuntu)
       Status: Incomplete => Won't Fix

** Changed in: openvswitch (Ubuntu Xenial)
       Status: Triaged => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/1546565

Title:
  Ownership/Permissions of vhost_user sockets for openvswitch-dpdk make
  them unusable by libvirt/qemu/kvm

Status in dpdk package in Ubuntu:
  Fix Released
Status in openvswitch package in Ubuntu:
  Won't Fix
Status in dpdk source package in Xenial:
  Fix Released
Status in openvswitch source package in Xenial:
  Won't Fix
Status in neutron-openvswitch package in Juju Charms Collection:
  Fix Committed

Bug description:
  As of today the vhost_user sockets created by openvswitch have root:root file ownership.
  In fact creation is actually done by code the DPDK lib, but the path is passed to it from openvswitch.

  The API called to DPDK has no notion of ownership/groups.
  It just "inherits" what the current running process has.
  But due to LP:1546556 the process ownership/group can't be changed the usual way openvsiwtch would when using dpdk.

  KVM as invoked by libvirt will run under libvirt-qemu:kvm and will
  thereby be unable to access these sockets.

  The current workaround is:
     1. wait after start of openvswitch (only then the sockets exist)
     2. chown all created vhost_iuser sockets that are to be used 
        e.g. sudo chown libvirt-qemu /var/run/openvswitch/vhost-user-1 
     3. if one wants to separate vhost_user sockets from the "rest" of openvswitch /var/run files use e.g.:
        DPDK_OPTS='[...] -vhost_sock_dir /var/run/openvswitch-vhost [...]
     X. this has to be redone every start/restart of oepnvswitch
     Y. if permissions are changed in a way that openvswitch can no more remove them on shutdown they won't re-initialize properly on the next start

  That is a severe shortcoming and not really applicable to a supported production environment.
  There are discussions ongoing about providing an option to specify owner/group/permissions of vhost_user sockets which would solve the issue.
  Unfortunately the patch series is blocked by a wider discussion about moving the dpdk configuration to the ovsdb (which makes sense, but stalls the acceptance of the patches providing the interface to modify permissions.

  Link to the last thread about moving dpdk config to ovsdb: http://comments.gmane.org/gmane.network.openvswitch.devel/59186
  Link to the last thread about making vhost_user socket user/group configurable - patch 4&5 of this: http://openvswitch.org/pipermail/dev/2015-December/063568.html
  But as mentioned it was decided to get the db config discussion done first.

  It is unsure if the patches once final will make it into openvswitch 2.5 - it would be great if they would.
  But even if not they shouldn't appear too much after and we might be able to cherry pick them?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1546565/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list