← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1408855] [NEW] Deleting floating ip fails in concurrent scenario

 

Public bug reported:

The problem is caused by the "check_fips_availability_on_host" function
in l3_dvr_db.py. Here is the related code:

floating_ips = self._get_sync_floating_ips(context, router_ids)
# Check for the active floatingip in the host
for fip in floating_ips:
    f_host = self.get_vm_port_hostid(context, fip['port_id'])

In the concurrent scenario, when one process traverses the floating_ips
list to get the f_host, the port associated with fip may be deleted by
another process, the PortNotFound exception will be raised, which fails
"check_fips_availability_on_host".

** Affects: neutron
     Importance: Undecided
     Assignee: Zhiyuan Cai (luckyvega-g)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Zhiyuan Cai (luckyvega-g)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1408855

Title:
  Deleting floating ip fails in concurrent scenario

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  The problem is caused by the "check_fips_availability_on_host"
  function in l3_dvr_db.py. Here is the related code:

  floating_ips = self._get_sync_floating_ips(context, router_ids)
  # Check for the active floatingip in the host
  for fip in floating_ips:
      f_host = self.get_vm_port_hostid(context, fip['port_id'])

  In the concurrent scenario, when one process traverses the
  floating_ips list to get the f_host, the port associated with fip may
  be deleted by another process, the PortNotFound exception will be
  raised, which fails "check_fips_availability_on_host".

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1408855/+subscriptions


Follow ups

References