Public bug reported:

commit c44506bfd60b2dd6036e113464f1ea682cfaeb6c introduced an
optimization to not send floating ip status update when status didn't
change: so if server returned floating ip as ACTIVE we don't need to
update it's status after successfull processing.

This migh be wrong in DVR case: when floatingip's associated fixed port is 
moved from one host to another, the notification is sent to both l3 agents on 
compute nodes (old and new). Here is what happens next:
 - old agent receives notification and requests router info from server
 - same for new agent
 - server returns router info without floating ip to old agent
 - server returns router info with floating ip to new agent. The status of 
floating ip is ACTIVE.
 - old agent removes floating ip and sends status update so server puts 
floatingip to DOWN state
 - new agent adds floatingip and doesn't send status update since it didn't 
changed from agent's point of view
 - floating ip stays in DOWN state though it's actually active

The fix would be to always update status of floating ip if agent
actually applies it.

** Affects: neutron
     Importance: Undecided
     Assignee: Oleg Bondarev (obondarev)
         Status: New


** Tags: l3-dvr-backlog

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1505557

Title:
  L3 agent not always properly update floatingip status on server

Status in neutron:
  New

Bug description:
  commit c44506bfd60b2dd6036e113464f1ea682cfaeb6c introduced an
  optimization to not send floating ip status update when status didn't
  change: so if server returned floating ip as ACTIVE we don't need to
  update it's status after successfull processing.

  This migh be wrong in DVR case: when floatingip's associated fixed port is 
moved from one host to another, the notification is sent to both l3 agents on 
compute nodes (old and new). Here is what happens next:
   - old agent receives notification and requests router info from server
   - same for new agent
   - server returns router info without floating ip to old agent
   - server returns router info with floating ip to new agent. The status of 
floating ip is ACTIVE.
   - old agent removes floating ip and sends status update so server puts 
floatingip to DOWN state
   - new agent adds floatingip and doesn't send status update since it didn't 
changed from agent's point of view
   - floating ip stays in DOWN state though it's actually active

  The fix would be to always update status of floating ip if agent
  actually applies it.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to