Comment 5 for bug 1400217

Revision history for this message
Sachi King (nakato) wrote :

The uploaded patch will address that as well.

It's again caused by the fact that it was inspecting the interface for addresses to decide what to add.

When "l3_agent" is restarted on the master it does not get any floating_ip's configured because they're already "configured" according to the interface, meaning failover will leave them behind.
When a vip is added/removed on a standby it gets multiples due to inspecting the interface and none being "configured", so neutron add's them all.

For this reason I don't think the right answer is to override what is there but check what is configured from the definitive source, the keepalived config.

If we want to do verification at "add_vip" we should make it check if the new IP is a duplicate and if it is, then throw an error or debug message, then return without adding the address. A duplicate address should never reach "add_vip".