]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Refactor configuring of floating ips on a router
authorCarl Baldwin <carl.baldwin@hp.com>
Fri, 27 Sep 2013 04:04:31 +0000 (04:04 +0000)
committerCarl Baldwin <carl.baldwin@hp.com>
Wed, 6 Nov 2013 08:24:30 +0000 (08:24 +0000)
commita65188fab01f29d095031abbc8d1d194548cd8be
tree48aaab207054a9b9c0ba93f6f210dd1e38cfe569
parentcdad785bc7ffca5005fe0890abe92aab01a56814
Refactor configuring of floating ips on a router

This approach to configuring floating ips is stateless and idempotent.
This allows it to handle corner cases, such as reusing a floating ip
address with a different floating ip id in a way that is easier to
understand.

The concept is to wipe the floating ips clean and rebuild them each
time with the following optimizations.  To avoid bad performance in
manipulating iptables, it is called in the context of a call to
defer_apply_on.  To avoid a disruption in network flow a set
difference is use to determine the set of addresses that no longer
belong on the inteface rather than removing them all blindly.

Change-Id: I98aacbbb52b35688036990961d02e0b273504a77
Fixes: Bug #1209011
neutron/agent/l3_agent.py
neutron/agent/linux/iptables_manager.py
neutron/tests/unit/test_l3_agent.py