Recently, while setting up my the network controller for OpenStack, I saw this message:
# tail -f /var/log/quantum/openvswitch-agent.log
ERROR [quantum.plugins.openvswitch.agent.ovs_quantum_agent] Failed to create OVS patch port. Cannot have tunneling enabled on this agent, since this version of OVS does not support tunnels or patch ports. Agent terminated!
What this means is that the versio of the datapath (shipped by Ubuntu) does not have the support needed to create tunnels or patch ports. This happened on Ubuntu 13.04.
Fortunately, it is VERY easy to solve this. You need to simply build your own datapath for your kernel. For this, you OpenvSwitch’s datapath source, and you need module-assistant:
1 2 3 |
apt-get install -y openvswitch-datapath-source module-assistant |
You can then grab your kernel headers and any other dependencies:
1 2 3 |
module-assistant prepare |
I noticed that either the kernel headers do not have the version.h in the right place, or the module-assistant looks in the wrong place. You can solve this by doing:
1 2 3 4 |
cd /lib/modules/`uname -r`/build/include/linux ln -s ../generated/uapi/linux/version.h . |
And finally, to download, build, and install the modulle:
1 2 3 |
module-assistant auto-install openvswitch-datapath |
Now, reboot your system so that the new module is loaded, and you are ready to go. You will notice that “/var/log/quantum/openvswitch-agent.log” no longer has this issue.
Thank you so much for your post! Huge help. It works great for me~
Pingback: HOWTO OpenStack Grizzly and Ceph with Puppet on Ubuntu 12.04 | Loïc Dachary
Thanks for the reply, i just decided to downgrade the kernel and run it on it, which works for me. Thanks again
Hi i followed the procedure here, but i got an error while building the module “error Kernels before 2.6.18 or after 3.5 are not supported by this version of Open vSwitch, i’m installing openstack on Ubuntu 12.04 (3.8….)
It looks like the version of “openvswitch-datapath-source” that comes with 12.04 doesn’t support the new kernels.
You have some options:
1.) Grab JUST those packages from the 13.04 repos.
or
2.) Apply just the patches:
a.) http://openvswitch.org/pipermail/dev/2012-August/020147.html
b.) http://permalink.gmane.org/gmane.network.openvswitch.devel/15719
The conclusion: since from the patches you can see how little changes, I would just pull the Ubuntu packages of the new versions and install them temporarily just to build the datapath.
Here is something interesting:
12.04: https://launchpad.net/ubuntu/raring/amd64/openvswitch-datapath-source/1.9.0-0ubuntu1 – provides version: 1.4.0-1ubuntu1.6
13.04: https://launchpad.net/ubuntu/raring/amd64/openvswitch-datapath-source/1.9.0-0ubuntu1 – provides version: 1.9.0-0ubuntu1
The dependencies look identical. It should be pretty easy to just grab the new (under “Downloadable Files”) and install it.