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

2014-10-21 Thread Noel Burton-Krahn
Hi Kevin,

The current method outlined in [1] is to manually assign networks to dhcp
agents.  I need to be able to kill the node running the dhcp agent and
start it up on another node without manual intervention.  Someone else
pointed me to the dhcp_agents_per_network option which I'm looking into now.

[1]
http://docs.openstack.org/trunk/config-reference/content/multi_agent_demo_configuration.html




On Mon, Oct 20, 2014 at 8:17 PM, Kevin Benton blak...@gmail.com wrote:

 The current suggested way for DHCP agent fault tolerance is multiple
 agents per network. Is there a reason you don't want to use that option?
 On Oct 20, 2014 5:13 PM, Noel Burton-Krahn n...@pistoncloud.com wrote:

 Thanks, Robert.

 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.

 --
 Noel


 On Mon, Oct 20, 2014 at 11:10 AM, Robert Kukura kuk...@noironetworks.com
  wrote:

  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 
 listOpenStack-dev@lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2014-10-20 Thread Noel Burton-Krahn
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@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2014-10-20 Thread Robert Kukura

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


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2014-10-20 Thread Noel Burton-Krahn
Thanks, Robert.

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.

--
Noel


On Mon, Oct 20, 2014 at 11:10 AM, Robert Kukura kuk...@noironetworks.com
wrote:

  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 
 listOpenStack-dev@lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2014-10-20 Thread Kevin Benton
The current suggested way for DHCP agent fault tolerance is multiple agents
per network. Is there a reason you don't want to use that option?
On Oct 20, 2014 5:13 PM, Noel Burton-Krahn n...@pistoncloud.com wrote:

 Thanks, Robert.

 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.

 --
 Noel


 On Mon, Oct 20, 2014 at 11:10 AM, Robert Kukura kuk...@noironetworks.com
 wrote:

  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 
 listOpenStack-dev@lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev