]> 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>
Tue, 13 Aug 2013 00:11:29 +0000 (00:11 +0000)
committerCarl Baldwin <carl.baldwin@hp.com>
Tue, 13 Aug 2013 19:14:38 +0000 (19:14 +0000)
commit9382ee659212285a203550cf60476dd146d27a29
tree83823fc3780bb2100b40f2c344fc94742a1a4a24
parentf3c016d76ae205365e939e320a6e394b61593adb
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: I0cfb58d487b1925e0a0db2a701c5ea3c56a0b2b5
Fixes: Bug #1209011
neutron/agent/l3_agent.py
neutron/tests/unit/test_l3_agent.py