This is happening because we seem to be assuming a centralized router when emitting the registry event on FIP association. I'm now beginning to see the wisdom in not including the host route in the registry event. We should just look up the host route in the registry event handler in neutron-dynamic-routing. The host route will be wrong initially, but within ~60 seconds the resync in the agent should clean things up. If we're not seeing this get straightened out after a re-sync, that is indicative of an issue with the agent re-sync.
This is happening because we seem to be assuming a centralized router when emitting the registry event on FIP association. I'm now beginning to see the wisdom in not including the host route in the registry event. We should just look up the host route in the registry event handler in neutron- dynamic- routing. The host route will be wrong initially, but within ~60 seconds the resync in the agent should clean things up. If we're not seeing this get straightened out after a re-sync, that is indicative of an issue with the agent re-sync.