OpenStack – Quantum – Open vSwitch – datapath for tunnels or patch ports
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:
You can then grab your kernel headers and any other dependencies:
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:
ln -s ../generated/uapi/linux/version.h .
And finally, to download, build, and install the modulle:
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.