yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #72234
[Bug 1740450] Re: Restarting l3 agent results in lost of centralized fip in snat ns
Reviewed: https://review.openstack.org/555952
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=64028a389ff904f15e471b44bd5b3979c5db2cd2
Submitter: Zuul
Branch: master
commit 64028a389ff904f15e471b44bd5b3979c5db2cd2
Author: Swaminathan Vasudevan <SVasudevan@xxxxxxxx>
Date: Fri Mar 23 15:11:13 2018 -0700
DVR: Restarting l3 agent loses centralized fip ip on qg-interface
When l3 agent is restarted on a dvr_snat node that is configured
for L3_HA and has a centralized FloatingIP configured to the
qg-interface in the snat_namespace, that FloatingIP is not
re-configured to the qg-interface when agent starts.
The reason being, the cidr is not being retrieved from the
keepalived instance and only retrieved from the
centralized_fip_cidr_set.
If 'L3_HA' is configured we need to retrieve it from the keepalived
instance.
This patch fixes the problem by retrieving the cidrs from the
keepalived instance for the qg-interface.
Change-Id: I848a20d06e2d344503a4cb1776dbe2617d91bc41
Closes-Bug: #1740450
** 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/1740450
Title:
Restarting l3 agent results in lost of centralized fip in snat ns
Status in neutron:
Fix Released
Bug description:
Reproduce steps:
l3 agent mode:
network node:dvr_snat
compute node:dvr_no_external
1、Create dvr+ha.
2、Set router gateway and add router interface.
3、Create vm and associate fip.
4、Restart l3 agent.
5、Restart l3 agent again.
After step 3, fip can be found in snat ns on network node.
After step 4, fip can not be found in snat ns on network node.
After step 5, fip can be found again in snat ns on network node.
The reason may be that for ha router, router cidrs should be seek from keepalived instance, not from device.
Adding following code in [1] can solve this problem:
def _get_centralized_fip_cidr_set(self, device):
"""Returns the fip_cidr set for centralized floatingips."""
return set(self._get_cidrs_from_keepalived(device.name))
[1]https://github.com/openstack/neutron/blob/master/neutron/agent/l3/dvr_edge_ha_router.py
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1740450/+subscriptions
References