[ovs-dev] Integrate ovs+dpdk to openstack

Na Zhu zhunatuzi at gmail.com
Sat Sep 26 07:37:51 UTC 2015


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?


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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>



More information about the dev mailing list