[ovs-dev] Integrate ovs+dpdk to openstack

Flavio Leitner fbl at sysclose.org
Tue Oct 13 18:45:53 UTC 2015


On Sat, Sep 26, 2015 at 03:37:51PM +0800, Na Zhu wrote:
> Dear Przemek,
> 
> Sorry to bother you again, I really thanks all of your helps before, now i
> have another problems, can you please tell me how to fix it?
> 
> I follow the GSG to install openstack, I do all the steps. When i create an
> instance, there is error.
> The log is:
> 2015-09-26 03:20:50.675 TRACE nova.compute.manager [instance:
> 3b8122a0-e271-4da3-9f5a-d2e9e925b24a]   File
> "/usr/lib64/python2.7/site-packages/libvirt.py", line 1033, in
> createWithFlags
> 2015-09-26 03:20:50.675 TRACE nova.compute.manager [instance:
> 3b8122a0-e271-4da3-9f5a-d2e9e925b24a]     if ret == -1: raise libvirtError
> ('virDomainCreateWithFlags() failed', dom=self)
> 2015-09-26 03:20:50.675 TRACE nova.compute.manager [instance:
> 3b8122a0-e271-4da3-9f5a-d2e9e925b24a] libvirtError: internal error: process
> exited while connecting to monitor: 2015-09-26T07:20:50.520586Z
> qemu-system-x86_64: -chardev
> socket,id=charnet0,path=/var/run/openvswitch/vhufa93e462-ff: Failed to
> connect to socket: Permission denied
> 2015-09-26 03:20:50.675 TRACE nova.compute.manager [instance:
> 3b8122a0-e271-4da3-9f5a-d2e9e925b24a] 2015-09-26T07:20:50.520751Z
> qemu-system-x86_64: -chardev
> socket,id=charnet0,path=/var/run/openvswitch/vhufa93e462-ff: chardev:
> opening backend "socket" failed
> 2015-09-26 03:20:50.675 TRACE nova.compute.manager [instance:
> 3b8122a0-e271-4da3-9f5a-d2e9e925b24a]
> 
> It seems the qemu-system-x86_64 has no permission to read the vhost-user
> port socket file, do you know why?

qemu usually runs as qemu user while OVS runs as root, so you need to fix
the /var/run/openvswitch/vhufa93e462-ff permissions to allow qemu.

fbl


> 
> 
> BR
> Juno
> 
> 
> 
> 2015-09-25 17:15 GMT+08:00 Na Zhu <zhunatuzi at gmail.com>:
> 
> > Hi Przemek,
> >
> > From the link
> > https://github.com/stackforge/networking-ovs-dpdk/blob/master/doc/source/installation.rst,
> > it requires libvirt >=1.2.10, but i do all the steps as the GSG, the
> > libvirt version is 1.2.9, is that ok?
> >
> > 2015-09-24 23:04 GMT+08:00 Czesnowicz, Przemyslaw <
> > przemyslaw.czesnowicz at intel.com>:
> >
> >> Yes, you can.
> >>
> >> Configuration could look like this:
> >>
> >>
> >>
> >> Q_ML2_PLUGIN_MECHANISM_DRIVERS*=*openvswitch,ovsdpdk
> >>
> >> Q_ML2_PLUGIN_TYPE_DRIVERS*=*vlan,flat,local,vxlan
> >>
> >> Q_ML2_TENANT_NETWORK_TYPE*=*vxlan
> >>
> >> ENABLE_TENANT_VLANS*=*False
> >>
> >> ENABLE_TENANT_TUNNELS*=*True
> >>
> >> TUNNEL_ENDPOINT_IP*=*192.168.50.2
> >>
> >> PHYSICAL_NETWORK*=*default
> >>
> >> OVS_BRIDGE_MAPPINGS*=*default:br-enp8s0f1
> >>
> >>
> >>
> >> OVS_NUM_HUGEPAGES*=*4096
> >>
> >> OVS_DATAPATH_TYPE*=*netdev
> >>
> >> OVS_GIT_TAG*=*master
> >>
> >> OVS_DPDK_GIT_TAG*=*"v2.0.0"
> >>
> >>
> >>
> >>
> >>
> >> Additionally you will have to program the local endpoint ip into the
> >> physical bridge:
> >>
> >> *ip* address add 192.168.50.2 dev br-enp8s0f1
> >>
> >>
> >>
> >> Przemek
> >>
> >>
> >>
> >> *From:* Na Zhu [mailto:zhunatuzi at gmail.com]
> >> *Sent:* Thursday, September 24, 2015 3:43 PM
> >>
> >> *To:* Czesnowicz, Przemyslaw
> >> *Cc:* dev at openvswitch.org
> >> *Subject:* Re: [ovs-dev] Integrate ovs+dpdk to openstack
> >>
> >>
> >>
> >> Hi Przemek,
> >>
> >>
> >>
> >> Thanks you again.
> >>
> >>
> >>
> >> I see the devstack example local.conf use vlan as the tenant network
> >> type, can I use vxlan?
> >>
> >>
> >>
> >> 2015-09-24 21:51 GMT+08:00 Czesnowicz, Przemyslaw <
> >> przemyslaw.czesnowicz at intel.com>:
> >>
> >> Hi Na Zhu,
> >>
> >>
> >>
> >> Nova understands how to handle hugepages, what’s left is to configure
> >> your system.
> >>
> >> The devstack plugin networking-ovs-dpdk will execute all the platform
> >> configuration steps for you.
> >>
> >>
> >>
> >> Please follow the GSG:
> >> https://github.com/stackforge/networking-ovs-dpdk/blob/master/doc/source/getstarted.rst
> >>
> >> You shouldn’t need to anything outside of that.
> >>
> >>
> >>
> >> Przemek
> >>
> >>
> >>
> >> *From:* Na Zhu [mailto:zhunatuzi at gmail.com]
> >> *Sent:* Thursday, September 24, 2015 2:19 PM
> >> *To:* Czesnowicz, Przemyslaw
> >> *Cc:* dev at openvswitch.org
> >> *Subject:* Re: [ovs-dev] Integrate ovs+dpdk to openstack
> >>
> >>
> >>
> >> Hi Przemek,
> >>
> >>
> >>
> >>
> >>
> >> Really appreciate your reply, you are so kind.
> >>
> >>
> >>
> >> I look through the code changes, I have one basic question.
> >>
> >> In the *INSTALL.DPDK.md* <http://INSTALL.DPDK.md>*,* it shows all the
> >> steps about using dpdk vhost-user, it can be divided into 2 parts:
> >>
> >> 1, create vhost-user port to OVS (your code change covers this part)
> >>
> >> 2, attach vhost-user port to VM, including configure socket and configure
> >> hugepage, I am sure there is no code about configure hugepage in your
> >> changes. Can you tell me why?
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> The following contents are copy from *I**NSTALL.DPDK.md*
> >> <http://NSTALL.DPDK.md>*.*
> >> DPDK vhost-user VM configuration:
> >>
> >> Follow the steps below to attach vhost-user port(s) to a VM.
> >>
> >> 1.  Configure sockets. Pass the following parameters to QEMU to attach a
> >> vhost-user device:
> >>
> >> 2.  -chardev socket,id=char1,path=/usr/local/var/run/openvswitch/vhost-user-1
> >>
> >> 3.  -netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce
> >>
> >> 4.  -device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1
> >>
> >> ...where vhost-user-1 is the name of the vhost-user port added to the
> >> switch. Repeat the above parameters for multiple devices, changing the
> >> chardev path and id as necessary. Note that a separate and different
> >> chardev path needs to be specified for each vhost-user device. For example
> >> you have a second vhost-user port named 'vhost-user-2', you append your
> >> QEMU command line with an additional set of parameters:
> >>
> >> -chardev socket,id=char2,path=/usr/local/var/run/openvswitch/vhost-user-2
> >>
> >> -netdev type=vhost-user,id=mynet2,chardev=char2,vhostforce
> >>
> >> -device virtio-net-pci,mac=00:00:00:00:00:02,netdev=mynet2
> >>
> >> 5.  Configure huge pages. QEMU must allocate the VM's memory on
> >> hugetlbfs. vhost-user ports access a virtio-net device's virtual rings and
> >> packet buffers mapping the VM's physical memory on hugetlbfs. To enable
> >> vhost-user ports to map the VM's memory into their process address space,
> >> pass the following paramters to QEMU:
> >>
> >> 6.  -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,
> >>
> >> 7.  share=on
> >>
> >> -numa node,memdev=mem -mem-prealloc
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> 2015-09-24 19:13 GMT+08:00 Czesnowicz, Przemyslaw <
> >> przemyslaw.czesnowicz at intel.com>:
> >>
> >> I meant the “main” Nova tree.
> >>
> >> Vhost-user support was added with those two changes:
> >>
> >>
> >>
> >> https://review.openstack.org/149309
> >>
> >> https://review.openstack.org/149310
> >>
> >>
> >>
> >> Przemek
> >>
> >>
> >>
> >>
> >>
> >> *From:* Na Zhu [mailto:zhunatuzi at gmail.com]
> >> *Sent:* Wednesday, September 23, 2015 2:23 PM
> >>
> >>
> >> *To:* Czesnowicz, Przemyslaw
> >> *Cc:* dev at openvswitch.org
> >> *Subject:* Re: [ovs-dev] Integrate ovs+dpdk to openstack
> >>
> >>
> >>
> >> Hi Przmek,
> >>
> >>
> >>
> >> Can you send me the nova source tree?
> >>
> >>
> >>
> >> BR
> >>
> >> Juno
> >>
> >>
> >>
> >> 2015-09-23 16:46 GMT+08:00 Czesnowicz, Przemyslaw <
> >> przemyslaw.czesnowicz at intel.com>:
> >>
> >> Hi Na Zhu,
> >>
> >>
> >>
> >> 1.       This is used when the agent is started.
> >>
> >> 2.       Not sure what you mean, look at
> >> https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/ovs_ofctl/main.py
> >>
> >> 3.       All the necessary Nova changes are in Nova source tree.
> >>
> >>
> >>
> >> If you think anything is wrong with the code please propose a patch or
> >> create a bug in Launchpad.
> >>
> >> https://bugs.launchpad.net/networking-ovs-dpdk/
> >>
> >>
> >>
> >>
> >>
> >> Regards
> >>
> >> Przemek
> >>
> >>
> >>
> >> *From:* Na Zhu [mailto:zhunatuzi at gmail.com]
> >> *Sent:* Wednesday, September 23, 2015 7:00 AM
> >> *To:* Czesnowicz, Przemyslaw
> >> *Cc:* dev at openvswitch.org
> >> *Subject:* Re: [ovs-dev] Integrate ovs+dpdk to openstack
> >>
> >>
> >>
> >> Hi Przemek,
> >>
> >>
> >>
> >> Thanks your reply.
> >>
> >>
> >>
> >> I read the code and find some missing, for example:
> >>
> >> 1, in file common/config.py, a new parameter of_interface is added
> >>  "cfg.StrOpt('of_interface', default='ovsdpdk-ofctl'", but it is not used
> >> in other place.
> >>
> >> 2, in file  agent/openflow/ovsdpdk_ofctl/main.py, it imports br-int,
> >> br-tun and br-phy, i do not find it in my neutron code.
> >>
> >> 3, there is no change about nova.
> >>
> >>
> >>
> >> BR
> >>
> >> Juno
> >>
> >>
> >>
> >> 2015-09-16 17:37 GMT+08:00 Czesnowicz, Przemyslaw <
> >> przemyslaw.czesnowicz at intel.com>:
> >>
> >> > -----Original Message-----
> >> > From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Na Zhu
> >> > Sent: Wednesday, September 16, 2015 10:12 AM
> >> > To: dev at openvswitch.org
> >> > Subject: [ovs-dev] Integrate ovs+dpdk to openstack
> >> >
> >> > Hi all,
> >> >
> >> > Since ovs+dpdk is released, are you plan to integrate ovs+dpdk to
> >> > openstack?
> >> > I find there is a project on openstack stackforge
> >> > https://github.com/stackforge/networking-ovs-dpdk/, but the project is
> >> not
> >> > finished, and the code is incomplete.
> >> >
> >> > Is there any available patch for ovs+dpdk in openstack?
> >> >
> >>
> >> Hi Na Zhu,
> >>
> >> What do you mean by not complete?
> >> In my opinion  networking-ovs-dpdk project is "complete" and working.
> >> There is a Neutron CI system that validates integration on every neutron
> >> patchset.
> >> In the docs folder of networking-ovs-dpdk  you will find a GSG[1] that
> >> may help you to set it up. Please let me know if you have issues.
> >>
> >> Regards
> >> Przemek
> >>
> >> [1] -
> >> https://github.com/stackforge/networking-ovs-dpdk/blob/master/doc/source/getstarted.rst
> >>
> >> >
> >> > BR
> >> > Juno
> >> > _______________________________________________
> >> > dev mailing list
> >> > dev at openvswitch.org
> >> > http://openvswitch.org/mailman/listinfo/dev
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list