neutron/neutron/agent/l3
Eugene Nikanorov aebd27f3b7 Resync L3, DHCP and OVS/LB agents upon revival
In big and busy clusters there could be a condition when
rabbitmq clustering mechanism synchronizes queues and during
this period agents connected to that instance of rabbitmq
can't communicate with the server and server considers them
dead moving resources away. After agent become active again,
it needs to cleanup state entries and synchronize its state
with neutron-server.
The solution is to make agents aware of their state from
neutron-server point of view. This is done by changing state
reports from cast to call that would return agent's status.
When agent was dead and becomes alive, it would receive special
AGENT_REVIVED status indicating that it should refresh its
local data which it would not do otherwise.

Conflicts:
	neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py
	neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py
	neutron/tests/unit/agent/dhcp/test_agent.py
	neutron/tests/unit/plugins/ml2/drivers/linuxbridge/agent/test_linuxbridge_neutron_agent.py
	neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/test_ovs_neutron_agent.py

Closes-Bug: #1505166
Change-Id: Id28248f4f75821fbacf46e2c44e40f27f59172a9
(cherry picked from commit 3b6bd917e4)
2016-01-24 19:38:22 +00:00
..
__init__.py Move classes out of l3_agent.py 2014-12-10 15:19:28 -07:00
agent.py Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
config.py Deprecate external_network_bridge option in L3 agent 2015-09-01 20:41:54 -07:00
dvr_edge_router.py Replace is_this_snat_host validation with internal function 2015-09-10 13:56:12 -07:00
dvr_fip_ns.py Set ip_nonlocal_bind in namespace if it exists 2015-10-21 17:14:58 +00:00
dvr_local_router.py Fix dvr_local_router.floating_ip_added_dist failure after agent restart 2015-11-17 05:09:21 -07:00
dvr_router_base.py Fixes SNAT port not found for internal port 2015-09-18 11:21:35 -07:00
dvr_snat_ns.py Fix _device_to_port_id for non-tap devices 2015-04-29 14:53:43 +00:00
dvr.py DVR: remove unused method 2015-07-02 16:30:26 +03:00
fip_rule_priority_allocator.py Preserve DVR FIP rule priority over Agent restarts 2015-08-12 15:52:19 -05:00
ha_router.py Don't add default route to HA router if there is no gateway ip 2015-11-18 02:15:11 +00:00
ha.py Don't update metadata_proxy if metadata is not enabled 2015-11-02 04:59:48 +00:00
item_allocator.py Introduce ItemAllocator class 2015-08-07 11:26:53 -05:00
keepalived_state_change.py Replace keepalived notifier bash script with Python ip monitor 2015-03-18 18:59:33 -04:00
legacy_router.py Stop sending gratuitous arp when ip version is 6 2015-06-11 13:47:04 -04:00
link_local_allocator.py Fix usage of netaddr '.broadcast' 2015-08-31 12:38:39 +00:00
namespace_manager.py Do not delete fip namespace during l3 dvr agent resync 2015-08-07 20:10:25 +03:00
namespaces.py Utilities for building/parsing netns names to facilitate testing 2015-04-24 16:43:26 +00:00
router_info.py Always send status update for processed floating ips 2015-10-16 14:01:52 +03:00
router_processing_queue.py L3 agent changes and reference implementation for IPv6 PD 2015-08-25 08:44:13 +01:00