<div dir="ltr">Thanks, Robert.<div><br></div><div>So, ML2 needs the host attribute to match to bind the port.  My other requirement is that the dhcp agent must be able to migrate to a new host on failover.  The issue there is that if the dhcp service starts on a new host with a new host name, then it will not take over the networks that were served by the old host name.  I'm looking for a way to start the dhcp agent on a new host using the old host's config.</div><div><br></div><div>--</div><div>Noel</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 20, 2014 at 11:10 AM, Robert Kukura <span dir="ltr"><<a href="mailto:kukura@noironetworks.com" target="_blank">kukura@noironetworks.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi Noel,<br>
    <br>
    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'.<br>
    <br>
    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.<br>
    <br>
    -Bob<div><div class="h5"><br>
    <br>
    <br>
    <div>On 10/20/14 1:28 PM, Noel Burton-Krahn
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div class="h5">
      <div dir="ltr">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.  
        <div><br>
        </div>
        <div>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?</div>
        <div><br>
        </div>
        <div>Case 1: fails: running with dhcp agent's host = "floating",
          ovs plugin's host = IP-of-server</div>
        <div>dhcp agent is running in netns created by ovs-plugin</div>
        <div>dhcp agent never receives network traffic</div>
        <div><br>
        </div>
        <div>Case 2: ok: running with dhcp agent's host = ovs plugin's
          host = IP-of-server</div>
        <div>
          <div>dhcp agent is running in netns created by ovs-plugin
            (different tap name than case 1)</div>
        </div>
        <div>dhcp agent works</div>
        <div><br>
        </div>
        <div>--</div>
        <div>Noel</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div> </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
OpenStack-dev mailing list
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>