yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #47981
[Bug 1556139] Re: ml2 create extension processing racey
Reviewed: https://review.openstack.org/291765
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=3ab6f8fb4539136fc193c722be98926701da6b32
Submitter: Jenkins
Branch: master
commit 3ab6f8fb4539136fc193c722be98926701da6b32
Author: Kevin Benton <kevin@xxxxxxxxxx>
Date: Fri Mar 11 06:57:01 2016 -0800
Extend dicts with original model in create/update
This adjusts the logic in ML2 create port and create
network to use the original DB object created rather
than attempting to retrieve it from the DB again.
This eliminates the race window where the object could
be deleted out from underneath the create operations
resulting in a 404.
To achieve this it adds a create_port_db and
create_network_db method to db_base_plugin_v2 that
returns the original model instead of returning a
dictionary.
This also adds a skip to a unit test that was using DB
events to trigger a rollback and retry. This test was
causing failures with a FlushError conflict between an
SQL alchemy new instance and a persistent instance in
the session. This bug is fixed in the follow-up patch.
Closes-Bug: #1556139
Related-Bug: #1556178
Change-Id: I3c4b4cb4f63236fca24abaf58881879c2d5657fa
** 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/1556139
Title:
ml2 create extension processing racey
Status in neutron:
Fix Released
Bug description:
The change to make the create result for networks and ports the same
as the get result[1] changed create_port and create_network to call
get_port and get_network (respectively) before returning. The issue
with this approach is that the port or network can be deleted between
when the record was committed and when the get operation is called.
This results in the operations throwing a port or network not found
error, which makes no sense in the context of a create.
1.
https://github.com/openstack/neutron/commit/b6d091279fffe441f6d28e687313ad031a24a3ec
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1556139/+subscriptions
References