← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1649852] Re: Concurrent calls to DELETE os-floating-ips can raise uncaught neutronclient.common.exceptions.NotFound

 

Reviewed:  https://review.openstack.org/410815
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d99197aece6451013d1de1f08c1af16832ee0e7e
Submitter: Jenkins
Branch:    master

commit d99197aece6451013d1de1f08c1af16832ee0e7e
Author: Guillaume Espanel <guillaume.espanel@xxxxxxxxxxxxxxxxxx>
Date:   Wed Dec 14 15:29:02 2016 +0100

    Catch neutronclient.NotFound on floating deletion
    
    In some cases, trying to delete a floating IP multiple times in a short
    delay can trigger an exception beacause the floating ip deletion
    operation is not atomic. If neutronclient's call to delete fails with a
    NotFound error, we raise a 404 error to nova's client instead of a 500.
    
    Change-Id: I49ea7e52073148457e794d641ed17d4ef58616f8
    Co-Authored-By: Stephen Finucane <sfinucan@xxxxxxxxxx>
    Closes-Bug: #1649852


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

** Changed in: nova/ocata
       Status: Confirmed => In Progress

** Changed in: nova/ocata
     Assignee: (unassigned) => Matt Riedemann (mriedem)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1649852

Title:
  Concurrent calls to DELETE os-floating-ips can raise uncaught
  neutronclient.common.exceptions.NotFound

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) ocata series:
  In Progress

Bug description:
  Description
  ============

  Concurrent calls to DELETE os-floating-ips/floating-ip-id can cause neutronclient to raise
  a neutronclient.common.exceptions.NotFound exception uncaught by Nova which in turn returns
  a 500 Error.

  Steps to reproduce
  ===================

  Tested on a mitaka devstack :

   - source openrc
   - run this humble script :

  FIP_ID=`nova floating-ip-create | grep public | awk '{print($2)}'`
  TENANT_ID=`keystone token-get | grep " tenant_id " | awk '{print($4)}'`
  TOKEN_ID=`keystone token-get | grep " id " | awk '{print($4)}'`

  curl -g -i -X DELETE http://127.0.0.1:8774/v2.1/$TENANT_ID/os-floating-ips/$FIP_ID -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: $TOKEN_ID"&
  curl -g -i -X DELETE http://127.0.0.1:8774/v2.1/$TENANT_ID/os-floating-ips/$FIP_ID -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: $TOKEN_ID"&
  curl -g -i -X DELETE http://127.0.0.1:8774/v2.1/$TENANT_ID/os-floating-ips/$FIP_ID -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: $TOKEN_ID"&
  curl -g -i -X DELETE http://127.0.0.1:8774/v2.1/$TENANT_ID/os-floating-ips/$FIP_ID -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: $TOKEN_ID"

  
  Expected result
  ================

  First call to go trough should return a 202, and all other calls
  should probably return 404 or 409 if deletion is in progress but not
  500.

  
  Actual result
  ==============

  Some calls to DELETE get a 500 Error response.

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


References