neutron/neutron/db
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
..
metering Python 3: do not index dict_values objects 2015-07-24 21:00:52 +02:00
migration Allow to specify branch for creating new migration 2015-11-20 12:21:21 +03:00
qos qos: Delete bw limit rule when policy is deleted 2015-08-20 14:01:41 +00:00
quota Reservations: Don't count usage if resource is unlimited 2015-09-11 14:44:21 -07:00
__init__.py Update License Headers to replace Nicira with VMware 2014-02-27 08:11:15 +00:00
address_scope_db.py Support subnetpool association to an address scope 2015-08-04 12:09:15 +05:30
agents_db.py Resync L3, DHCP and OVS/LB agents upon revival 2016-01-24 19:38:22 +00:00
agentschedulers_db.py Switch scheduler drivers to load based schedulers 2015-09-12 23:01:47 -07:00
allowedaddresspairs_db.py Fix duplicate entry catch for allowed address pairs 2015-07-10 18:55:58 +08:00
api.py Move retries out of ML2 plugin 2015-10-23 16:29:43 +00:00
common_db_mixin.py Add UnionModel support to filter query generator 2015-11-26 02:47:33 +00:00
db_base_plugin_common.py Separate rbac calculation from _make_network_dict 2015-12-15 23:37:45 -08:00
db_base_plugin_v2.py Check gateway ip when update subnet 2016-01-14 22:37:35 -06:00
dvr_mac_db.py Merge "Fix gateway port could not retrieve for subnet" 2015-08-18 20:51:35 +00:00
external_net_db.py ml2: remove stale _filter_nets_l3 in get_networks 2015-01-20 15:13:20 -08:00
extradhcpopt_db.py Migrate to oslo.log 2015-03-12 11:22:56 +01:00
extraroute_db.py l3: not use L2 plugin _get_subnet unnecessarily 2015-08-13 18:37:49 -07:00
flavors_db.py Make Neutron service flavor save service_type 2015-09-02 16:44:43 +00:00
ipam_backend_mixin.py delete_port: ensure quota usage is marked as dirty 2015-09-21 05:49:24 -07:00
ipam_non_pluggable_backend.py Fix log statement to log correct variable first_ip 2015-09-16 18:34:37 -07:00
ipam_pluggable_backend.py Fix incorrect passing port dict in pluggable IPAM 2015-11-05 07:47:10 +00:00
l3_agentschedulers_db.py Remove check on dhcp enabled subnets while scheduling dvr 2016-01-15 13:49:03 +03:00
l3_attrs_db.py Add L3 VRRP HA base classes 2014-09-10 12:06:13 +00:00
l3_db.py DVR: notify specific agent when deleting floating ip 2016-01-12 13:38:30 +00:00
l3_dvr_db.py DVR: notify specific agent when deleting floating ip 2016-01-12 13:38:30 +00:00
l3_dvrscheduler_db.py DVR: handle dvr serviceable port's host change 2016-01-11 12:04:31 +03:00
l3_gwmode_db.py Allow to define enable_snat default value 2015-05-07 00:10:50 +02:00
l3_hamode_db.py Call _allocate_vr_id outside of transaction 2016-01-12 13:11:58 +00:00
l3_hascheduler_db.py Expose ha_state per router to agent binding via API 2015-03-23 17:56:36 -04:00
model_base.py Make models_v2 explicitly import rbac_db_models 2015-08-24 03:13:14 -07:00
models_v2.py Merge "Add dns_label processing for Ports" 2015-08-26 19:53:55 +00:00
netmtu_db.py Move network MTU from core REST API to extension API 2015-04-02 12:48:56 -04:00
portbindings_base.py Remove @author(s) from copyright statements 2014-09-15 21:40:09 +09:00
portbindings_db.py Remove unnecessary 'IN vs ==' sql query branches 2015-03-21 09:39:06 -07:00
portsecurity_db.py Add utility function for checking trusted port 2015-09-14 10:41:54 +00:00
portsecurity_db_common.py portsecurity_db_common: Access db columns in a consistent way 2015-07-06 11:22:18 +09:00
quota_db.py Create packages for quota modules 2015-07-28 11:55:01 -07:00
rbac_db_mixin.py Fix use of fields argument in get_rbac_policies 2015-11-21 07:02:07 +00:00
rbac_db_models.py Make models_v2 explicitly import rbac_db_models 2015-08-24 03:13:14 -07:00
securitygroups_db.py Validate ethertype for icmp protocols 2015-11-14 08:41:01 +01:00
securitygroups_rpc_base.py Set security group provider rule for icmpv6 RA in DVR 2015-10-23 16:16:16 +00:00
servicetype_db.py Force service provider relationships to load 2015-12-18 16:00:16 +00:00
sqlalchemyutils.py Python 3: Use six.moves.range 2015-05-19 17:32:17 +02:00
vlantransparent_db.py Moving VLAN Transparency support from core to extension 2015-04-08 08:35:13 -07:00