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
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to