← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1173227] Re: Nova doesn't refresh network cache when transferring a floating IP address

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => havana-3

-- 
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/1173227

Title:
  Nova doesn't refresh network cache when transferring a floating IP
  address

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  When Nova associates of disassociates a floating IP address the
  network info cache is always refreshed (In both Nova net and Quantum)
  due to the @refresh_cache decorator

  However if you (re)associate a floating IP which is already associated
  with another instance on a Quantum based system then the address is
  correcly disassociated first, but the refresh is not trigged for that
  instance.  As a result Nova will show the same address for two
  instances until the periodic clean-up kicks in some minutes later.

  Watch what happens with 15.184.41.5 in the following:

  
  $nova list
  +--------------------------------------+------------+--------+----------------------------------+
  | ID                                   | Name       | Status | Networks                         |
  +--------------------------------------+------------+--------+----------------------------------+
  | 52e0533a-0399-4828-b9d7-f223c7e44aca | phil-natty | ACTIVE | philnet1=12.0.0.4, 15.184.41.5   |
  | 8184e9a7-3f56-46bc-8a3a-4fba68f7ce78 | phil2      | ACTIVE | philnet1=12.0.0.3, 15.184.40.176 |
  | 7ab2dff2-6a71-497a-b097-627833ebe680 | phil44     | ACTIVE | philnet1=12.0.0.5                |
  +--------------------------------------+------------+--------+----------------------------------+

  $quantum floatingip-list
  +--------------------------------------+------------------+---------------------+--------------------------------------+
  | id                                   | fixed_ip_address | floating_ip_address | port_id                              |
  +--------------------------------------+------------------+---------------------+--------------------------------------+
  | 29d844c4-78f8-45fd-ae28-d518ea6d41ef | 12.0.0.4         | 15.184.41.5         | 4770c516-6b07-44c2-a07b-eb13a873f80e |
  | 9f0f7dfe-4e2f-4a60-8cfd-c7b8c7a10ea9 | 12.0.0.3         | 15.184.40.176       | 58cc4d39-7c20-4a36-bf5f-267a193f6f44 |
  +--------------------------------------+------------------+---------------------+--------------------------------------+

  $nova add-floating-ip 7ab2dff2-6a71-497a-b097-627833ebe680 15.184.41.5

  $quantum floatingip-list
  +--------------------------------------+------------------+---------------------+--------------------------------------+
  | id                                   | fixed_ip_address | floating_ip_address | port_id                              |
  +--------------------------------------+------------------+---------------------+--------------------------------------+
  | 29d844c4-78f8-45fd-ae28-d518ea6d41ef | 12.0.0.5         | 15.184.41.5         | 3470b721-def6-48a9-8b19-16bd564dd795 |
  | 9f0f7dfe-4e2f-4a60-8cfd-c7b8c7a10ea9 | 12.0.0.3         | 15.184.40.176       | 58cc4d39-7c20-4a36-bf5f-267a193f6f44 |
  +--------------------------------------+------------------+---------------------+--------------------------------------+

  $nova list
  +--------------------------------------+------------+--------+----------------------------------+
  | ID                                   | Name       | Status | Networks                         |
  +--------------------------------------+------------+--------+----------------------------------+
  | 52e0533a-0399-4828-b9d7-f223c7e44aca | phil-natty | ACTIVE | philnet1=12.0.0.4, 15.184.41.5   |
  | 8184e9a7-3f56-46bc-8a3a-4fba68f7ce78 | phil2      | ACTIVE | philnet1=12.0.0.3, 15.184.40.176 |
  | 7ab2dff2-6a71-497a-b097-627833ebe680 | phil44     | ACTIVE | philnet1=12.0.0.5, 15.184.41.5   |
  +--------------------------------------+------------+--------+----------------------------------+

  
  Nova Networking has specific handling for this case in its associate_floating_ip() method, which relies on the floating_manager returning the instance uuid of the original instance.  It doesn't look like the quantum client does this, so the quantumv2/api code will probably need to work this out for itself.

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