← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1515341] [NEW] DVR associating a new floatingip on existing network fails after restart of l3 agent

 

Public bug reported:

If DVR is enabled and an l3-agent is restarted, adding a new vm to an
existing network and then associating a floating ip to that vm will fail
and set all floating ip statuses on that network to 'ERROR'.  In
tracking down this issue, it appears that the 'floating_ip_added_dist'
method in agent/l3/dvr_local_router.py attempts to invoke
'self.rtr_fip_subnet.get_pair()' without first checking that
self.rtr_fip_subnet is not None.

To reproduce this issue:
On a running DVR enabled installation, create a network, subnet, external network and router.
Boot a vm on the network and associate a floating ip to the vm.
Restart the neutron-l3-agent on the compute node hosting the vm.
Boot a second vm on the existing network hosted on the compute node where the neutron-l3-agent has been restarted.
Associate a new floatingip to the second vm.
Observe that the flaotingip is in the ERROR state and that the vm is not pingable via that floatingip.

** Affects: neutron
     Importance: Undecided
     Assignee: Erik Colnick (erikcolnick)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Erik Colnick (erikcolnick)

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

Title:
  DVR associating a new floatingip on existing network fails after
  restart of l3 agent

Status in neutron:
  New

Bug description:
  If DVR is enabled and an l3-agent is restarted, adding a new vm to an
  existing network and then associating a floating ip to that vm will
  fail and set all floating ip statuses on that network to 'ERROR'.  In
  tracking down this issue, it appears that the 'floating_ip_added_dist'
  method in agent/l3/dvr_local_router.py attempts to invoke
  'self.rtr_fip_subnet.get_pair()' without first checking that
  self.rtr_fip_subnet is not None.

  To reproduce this issue:
  On a running DVR enabled installation, create a network, subnet, external network and router.
  Boot a vm on the network and associate a floating ip to the vm.
  Restart the neutron-l3-agent on the compute node hosting the vm.
  Boot a second vm on the existing network hosted on the compute node where the neutron-l3-agent has been restarted.
  Associate a new floatingip to the second vm.
  Observe that the flaotingip is in the ERROR state and that the vm is not pingable via that floatingip.

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


Follow ups