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
Change-Id: I80a299d3f99113f77d2e728c3d9e000d01dacebd
(cherry picked from commit 3a5315ef8dbc6265ad2c47eebc1e2c42722a7cb4)
Reviewed: https:/ /review. openstack. org/328570 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=85ac60cc8fa ced17456231ee64 aa0dfb4fb92688
Committed: https:/
Submitter: Jenkins
Branch: stable/mitaka
commit 85ac60cc8faced1 7456231ee64aa0d fb4fb92688
Author: Swaminathan Vasudevan <email address hidden>
Date: Tue Apr 12 16:06:41 2016 -0700
DVR: Fix allowed_ address_ pair port binding with delayed fip
Today when allowed_ address_ pairs are configured on a dvr address_ pair port, we inherit the dvr service port's
service port and if a floatingip is associated with the
allowed_
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 address_ pair
when there is a new floatingip configured. If host binding is
missing and if the port happens to be an allowed_
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 f77d2e728c3d9e0 00d01dacebd 5ad2c47eebc1e2c 42722a7cb4)
Change-Id: I80a299d3f99113
(cherry picked from commit 3a5315ef8dbc626