neutron/neutron
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
..
agent Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
api Move notifications before DB retry decorator 2016-01-12 00:59:44 +00:00
callbacks Merge "Add support for PluginWorker and Process creation notification" 2015-09-04 05:02:52 +00:00
cmd Merge "move usage_audit to cmd/eventlet package" into stable/liberty 2015-12-21 20:16:41 +00:00
common Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
core_extensions Forbid attaching rules if policy isn't accessible 2015-08-12 09:52:33 +00:00
db Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
debug Deprecate external_network_bridge option in L3 agent 2015-09-01 20:41:54 -07:00
extensions Support migrating of legacy routers to HA and back 2015-12-22 15:18:38 +02:00
hacking Restructure agent code in preparation for decomp 2015-06-26 15:06:49 +00:00
ipam Add the missing arg of RetryRequest exception in _lock_subnetpool 2015-11-27 13:11:00 +00:00
locale Imported Translations from Zanata 2016-01-16 06:27:41 +00:00
notifiers Remove hack for discovery novaclients extension 2015-09-09 14:35:26 +00:00
objects No network devices on network attached qos policies 2015-09-16 15:11:04 +02:00
openstack Switch to the oslo_utils.fileutils 2015-07-15 08:09:26 +03:00
pecan_wsgi Fix the bug of "Spelling error of a word" 2015-10-16 11:40:21 +00:00
plugins Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
quota Merge "ML2: Add tests to validate quota usage tracking" into stable/liberty 2016-01-05 02:51:10 +00:00
scheduler Tune _get_candidates for faster scheduling in dvr 2015-12-16 13:28:53 +03:00
server Merge "Introduce a separate RPC server" into feature/pecan 2015-09-18 16:58:54 +00:00
services Mock oslo policy HTTPCheck instead of urllib 2015-10-13 17:26:23 +02:00
tests Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
__init__.py Allow users to run 'tox -epy34' 2015-05-11 16:09:51 +02:00
auth.py Migrate to oslo.log 2015-03-12 11:22:56 +01:00
context.py Add DB support for resource usage tracking 2015-07-26 15:26:10 -07:00
i18n.py oslo: migrate to namespace-less import paths 2015-02-05 15:09:32 +01:00
manager.py Mock oslo policy HTTPCheck instead of urllib 2015-10-13 17:26:23 +02:00
neutron_plugin_base_v2.py Add support for PluginWorker and Process creation notification 2015-09-03 06:40:50 +00:00
policy.py Mock oslo policy HTTPCheck instead of urllib 2015-10-13 17:26:23 +02:00
service.py Add support for PluginWorker and Process creation notification 2015-09-03 06:40:50 +00:00
version.py
worker.py Add support for PluginWorker and Process creation notification 2015-09-03 06:40:50 +00:00
wsgi.py Add support for PluginWorker and Process creation notification 2015-09-03 06:40:50 +00:00