← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1585738] [NEW] ML2 doesn't return fixed_ips on a port update with binding

 

Public bug reported:

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

** Affects: neutron
     Importance: High
         Status: New

** Changed in: neutron
   Importance: Undecided => High

-- 
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:
  New

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


Follow ups