[openstack-dev] [neutron] Clear all flows when ovs agent start?why and how avoid?

Zebra maxiao at unitedstack.com
Wed Oct 29 03:27:19 UTC 2014


Hi, Kyle


> This is likely due to this bug [1] which was fixed in Juno. On agent
>restart, all flows are reprogrammed. We do this to ensure that
>everything is reprogrammed correctly and no stale flows are left.
 
If the neutron-openvswitch-agent restarts , the exist flows should not be reprogrammed because
this will cause the network failure be perceived by the end-users.


And in setup_tunnel_br/setup_physical_br/setup_intergration_br, clear all flows is not 
necessary because the flows will be synchronized by scan_ports function.


So I think we should not call remove_all_flows in setup_tunnel_br/setup_physical_br/setup_intergration_br.


Besides, delete port operations in setup_tunnel_br/setup_physical_br/setup_intergration_br should also be commented for the same reason.




Zebra



------------------ Original ------------------
From:  "Kyle Mestery"<mestery at mestery.com>;
Date:  Tue, Oct 28, 2014 09:00 PM
To:  "OpenStack Development Mailing List (not for usage questions)"<openstack-dev at lists.openstack.org>; 

Subject:  Re: [openstack-dev] [neutron] Clear all flows when ovs agent start?why and how avoid?

 
On Mon, Oct 27, 2014 at 10:01 PM, Damon Wang <damon.devops at gmail.com> wrote:
> Hi all,
>
> We have suffered a long down time when we upgrade our public cloud's neutron
> into the latest version (close to Juno RC2), for ovs-agent cleaned all flows
> in br-tun when it start.
>
This is likely due to this bug [1] which was fixed in Juno. On agent
restart, all flows are reprogrammed. We do this to ensure that
everything is reprogrammed correctly and no stale flows are left.

[1] https://bugs.launchpad.net/tripleo/+bug/1290486
> I find our current design is remove all flows then add flow by entry, this
> will cause every network node will break off all tunnels between other
> network node and all compute node.
>
> ( plugins.openvswitch.agent.ovs_neutron_agent.OVSNeutronAgent.__init__ ->
> plugins.openvswitch.agent.ovs_neutron_agent.OVSNeutronAgent#setup_tunnel_br
> :
> self.tun_br.remove_all_flows() )
>
> Do we have any mechanism or ideas to avoid this, or should we rethink
> current design? Welcome comments
>
Perhaps a way around this would be to add a flag on agent startup
which would have it skip reprogramming flows. This could be used for
the upgrade case.

> Wei Wang
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

_______________________________________________
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/20141029/ac22b836/attachment.html>


More information about the OpenStack-dev mailing list