neutron/neutron/db
Swaminathan Vasudevan 3c86514870 DVR: Fix allowed_address_pair port binding with delayed fip
Today when allowed_address_pairs are configured on a dvr
service port and if a floatingip is associated with the
allowed_address_pair port, we inherit the dvr service port's
host and the device_owner to which the port is associated.

But when the floatingip is created on the allowed_address_pair
port after the port is associated with a dvr service port, then
we apply the right port host binding and the arp_update.

This patch address the issue, by checking for the host binding
when there is a new floatingip configured. If host binding is
missing and if the port happens to be an allowed_address_pair
port, then it checks for the associated service port and if there
is a single valid and active service port, then it inherits the
host binding and device owner from the dvr service port and also
applies the right arp entry. If there is are more than one
active ports, then it returns.

Closes-Bug: #1569918
(cherry picked from commit 3a5315ef8d)

Conflicts:
	neutron/db/l3_dvr_db.py
Change-Id: I80a299d3f99113f77d2e728c3d9e000d01dacebd
2016-07-13 12:42:37 -07:00
..
metering Python 3: do not index dict_values objects 2015-07-24 21:00:52 +02:00
migration Fix branch order when upgrading to alembic milestone 2016-03-23 14:31:24 +00: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 Clear DVR MAC on last agent deletion from host 2016-04-30 02:58:44 -07:00
agentschedulers_db.py Move db query to fetch down bindings under try/except 2016-03-23 15:20:46 +00:00
allowedaddresspairs_db.py Fix duplicate entry catch for allowed address pairs 2015-07-10 18:55:58 +08:00
api.py Retry port create/update on duplicate db records 2016-03-12 21:25:06 +00:00
common_db_mixin.py Make object creation methods in l3_hamode_db atomic 2016-01-21 18:35:45 +03:00
db_base_plugin_common.py Merge "Outerjoin to networks for port ownership filter" into stable/liberty 2016-05-18 00:38:30 +00:00
db_base_plugin_v2.py Merge "Outerjoin to networks for port ownership filter" into stable/liberty 2016-05-18 00:38:30 +00:00
dvr_mac_db.py Clear DVR MAC on last agent deletion from host 2016-04-30 02:58:44 -07: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 Merge "Mitigate restriction for fixed ips per dhcp port" into stable/liberty 2016-05-20 01:11:58 +00:00
ipam_non_pluggable_backend.py Mitigate restriction for fixed ips per dhcp port 2016-04-22 15:16:22 +02:00
ipam_pluggable_backend.py Mitigate restriction for fixed ips per dhcp port 2016-04-22 15:16:22 +02:00
l3_agentschedulers_db.py Move db query to fetch down bindings under try/except 2016-03-23 15:20:46 +00:00
l3_attrs_db.py Add L3 VRRP HA base classes 2014-09-10 12:06:13 +00:00
l3_db.py Merge "Enforce UUID of port/subnet ID for router interfaces" into stable/liberty 2016-05-24 03:07:30 +00:00
l3_dvr_db.py DVR: Fix allowed_address_pair port binding with delayed fip 2016-07-13 12:42:37 -07:00
l3_dvrscheduler_db.py After a migration clean up the floating ip on the source host 2016-06-13 16:52:34 +00:00
l3_gwmode_db.py Allow to define enable_snat default value 2015-05-07 00:10:50 +02:00
l3_hamode_db.py Support MTU advertisement using IPv6 RAs 2016-05-17 15:08:02 +02: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 Add IPAllocation object to session info to stop GC 2016-03-23 14:54:46 +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 port security: gracefully handle resources with no bindings 2016-03-30 10:36:32 +02:00
portsecurity_db_common.py port security: gracefully handle resources with no bindings 2016-03-30 10:36:32 +02:00
quota_db.py Create packages for quota modules 2015-07-28 11:55:01 -07:00
rbac_db_mixin.py Catch DBDuplicateEntry errors in RBAC code 2016-03-24 12:58:08 +01:00
rbac_db_models.py Make models_v2 explicitly import rbac_db_models 2015-08-24 03:13:14 -07:00
securitygroups_db.py Don't drop 'protocol' from client supplied security_group_rule dict 2016-04-06 11:25:35 +02: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