← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1623422] Re: delete_subnet update_port needs to catch SubnetNotFound

 

Reviewed:  https://review.openstack.org/369956
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=33afa82517dfe45a0e40d0f3ba738bc50bf04648
Submitter: Jenkins
Branch:    master

commit 33afa82517dfe45a0e40d0f3ba738bc50bf04648
Author: Kevin Benton <kevin@xxxxxxxxxx>
Date:   Tue Sep 13 19:38:58 2016 -0700

    Capture SubnetNotFound from update_port call
    
    In delete_subnet, we update the remaining ports with fixed_ips
    of the IPs remaining from the undeleted subnets. The issue with
    this is that two concurrent subnet_delete calls can result in
    trying to update the remaining port with a fixed IP from a
    subnet already deleted. This results in a SubnetNotFound exception,
    which aborts the whole deletion.
    
    This patch captures these exceptions and 'continues' to restart
    the iteration and re-query to get the latest fixed IPs of the
    ports to automatically update.
    
    Closes-Bug: #1623422
    Change-Id: I4e299217eb2aabbe572f24e4328272873369da0f


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  delete_subnet update_port needs to catch SubnetNotFound

Status in neutron:
  Fix Released

Bug description:
  The code that updates the ports on a subnet to remove the fixed IPs of
  the subnets being deleted needs to capture SubnetNotFound. A
  concurrent deletion of another subnet on the same network will result
  in the update_port call trying to set fixed IPs containing a subnet
  which no longer exists, which results in SubnetNotFound.

  This error was spotted in a Rally test:
  http://logs.openstack.org/11/369511/3/check/gate-rally-dsvm-neutron-
  rally/b188655/logs/screen-q-svc.txt.gz#_2016-09-14_07_20_06_111


  The relevant request ID is req-befec696-04be-4b2c-94b4-8abb6eb195e0,
  the paste for which is here: http://paste.openstack.org/show/576077/

  
  It tried to update the port, got a concurrent operation error (due to another proc updating the same port to remove another subnet), and on retry it got a resourcenotfound. PortNotFound is already captured in delete_subnet, and the network has to exist for the port to still exist, so the only remaining thing to be missing is the Subnet of an ID being requested.

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


References