yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52159
[Bug 1585738] Re: ML2 doesn't return fixed_ips on a port update with binding
Reviewed: https://review.openstack.org/321152
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=fcd33b31282848c5853cebc37e1e8e0a06e878f2
Submitter: Jenkins
Branch: master
commit fcd33b31282848c5853cebc37e1e8e0a06e878f2
Author: Hong Hui Xiao <xiaohhui@xxxxxxxxxx>
Date: Tue Jun 7 15:35:32 2016 -0600
Return fixed_ips from port update
fixed_ips has a join relationship with port. During a DB transaction,
it will be acquired once. If the IPAllocation is updated after
acquiring fixed_ips, the port DB model object will still have the
stale value of fixed_ips, which is empty in the case of reported bug.
Expire the fixed_ips of the port can make the next query of port have
the latest fixed_ips, and thus, has the latest fixed_ips in the result
of update port.
Change-Id: I8ca52caf661daa2975cf53212d008eb953d83cc0
Closes-Bug: #1585738
** 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/1585738
Title:
ML2 doesn't return fixed_ips on a port update with binding
Status in neutron:
Fix Released
Bug description:
I found this yesterday while working on deferred IP allocation for
routed networks. However, it isn't unique to deferred port binding.
With my deferred IP allocation patch [2], I need to be able to make a
port create call [1] without binding information that doesn't allocate
an IP address. Then, I need to follow it up with a port update which
sends host binding information and allocates an IP address. But, when
I do that, the response doesn't contain the IP addresses that were
allocated [3]. However, immediately following it with a GET on the
same port shows the allocation [4].
This doesn't happen in other plugins besides ML2. Only with ML2.
I've put up a patch to run unit tests with ML2 that expose this
problem [5]. The problem can be reproduced on master [6]. I can get
it to happen by creating a network without a subnet, creating a port
on the network (with no IP address), and then calling port update to
allocate an IP address.
If this goes unaddressed, Nova will have to make a GET call after
doing a port update with binding information when working with a port
with deferred IP allocation.
[1] http://paste.openstack.org/show/505419/
[2] https://review.openstack.org/#/c/320631/
[3] http://paste.openstack.org/show/505420/
[4] http://paste.openstack.org/show/505421/
[5] http://logs.openstack.org/57/320657/2/check/gate-neutron-python27/153a619/testr_results.html.gz
[6] https://review.openstack.org/321152
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1585738/+subscriptions
References