[openstack-dev] [Neutron] Why doesn't ml2-ovs work when it's "host" != the dhcp agent's host?

Robert Kukura kukura at noironetworks.com
Mon Oct 20 18:10:50 UTC 2014


Hi Noel,

The ML2 plugin uses the binding:host_id attribute of port to control 
port binding. For compute ports, nova sets binding:host_id when 
creating/updating the neutron port, and ML2's openvswitch mechanism 
driver will look in agents_db to make sure the openvswitch L2 agent is 
running on that host, and that it has a bridge mapping for any needed 
physical network or has the appropriate tunnel type enabled. The 
binding:host_id attribute also gets set on DHCP, L3, and other agents' 
ports, and must match the host of the openvswitch-agent on that node or 
ML2 will not be able to bind the port. I suspect your configuration may 
be resulting in these not matching, and the DHCP port's binding:vif_type 
attribute being 'binding_failed'.

I'd suggest running "neutron port-show" as admin on the DHCP port to see 
what the values of binding_vif_type and binding:host_id are, and running 
"neutron agent-list" as admin to make sure there is an L2 agent on that 
node and maybe "neutron agent-show" as admin to get that agents config 
details.

-Bob


On 10/20/14 1:28 PM, Noel Burton-Krahn wrote:
> I'm running OpenStack Icehouse with Neutron ML2/OVS.  I've configured 
> the ml2-ovs-plugin on all nodes with host = the IP of the host 
> itself.  However, my dhcp-agent may float from host to host for 
> failover, so I configured it with host="floating".  That doesn't 
> work.  In this case, the ml2-ovs-plugin creates a namespace and a tap 
> interface for the dhcp agent, but OVS doesn't route any traffic to the 
> dhcp agent.  It *does* work if the dhcp agent's host is the same as 
> the ovs plugin's host, but if my dhcp agent migrates to another host, 
> it loses its configuration since it now has a different host name.
>
> So my question is, what does host mean for the ML2 dhcp agent and host 
> can I get it to work if the dhcp agent's host != host for the ovs plugin?
>
> Case 1: fails: running with dhcp agent's host = "floating", ovs 
> plugin's host = IP-of-server
> dhcp agent is running in netns created by ovs-plugin
> dhcp agent never receives network traffic
>
> Case 2: ok: running with dhcp agent's host = ovs plugin's host = 
> IP-of-server
> dhcp agent is running in netns created by ovs-plugin (different tap 
> name than case 1)
> dhcp agent works
>
> --
> Noel
>
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141020/809b6756/attachment.html>


More information about the OpenStack-dev mailing list