yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #93657
[Bug 2050236] Re: Automatic L3 Agent Failover does not work for HA Routers
Reviewed: https://review.opendev.org/c/openstack/neutron/+/908434
Committed: https://opendev.org/openstack/neutron/commit/fa28c3c35cc7ae5b25441d3d83bf78f00a54f477
Submitter: "Zuul (22348)"
Branch: master
commit fa28c3c35cc7ae5b25441d3d83bf78f00a54f477
Author: Christian Rohmann <christian.rohmann@xxxxxxxxx>
Date: Thu Feb 8 15:27:18 2024 +0100
Allow HA routers to have automatic l3agent failover
Currently routers with ha=true are NOT rescheduled form a dead L3 agent, even
when `allow_automatic_l3agent_failover` is enabled.
This is contrary to what the user expects and the feature description states:
"Automatically reschedule routers from offline
L3 agents to online L3 agents."
There is no distinction made between HA and non-HA routers. Also HA and
automatic-failover can work together:
* HA allows for a fast failover to a standby router
* Automatic failover then restores back full redundancy in case the failed L3
agent, which HA failed away from, does not come back within a certain time.
Closes-Bug: #2050236
Change-Id: I1e5ee5048f61eef7fa4d9de25e69bf0e0a5ea442
** 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/2050236
Title:
Automatic L3 Agent Failover does not work for HA Routers
Status in neutron:
Fix Released
Bug description:
When enabling allow_automatic_l3agent_failover in the neutron config,
neutron does not automatically reschedule routers with the HA
parameter.
In
https://github.com/openstack/neutron/blob/master/neutron/db/agentschedulers_db.py#L131,
neutron loads all downed agents into the down_bindings list and then
iterates over it.
This list gets populated in this method:
https://github.com/openstack/neutron/blob/master/neutron/objects/l3agent.py#L55
Here, a SQL query gets generated that specifically excludes routers
that have the HA-parameter (l3_attrs.RouterExtraAttributes.ha) set to
something other than false or NULL.
This behavior has always been the case and got introduced in
https://github.com/openstack/neutron/commit/7e51f2aea517e1431b9a860c45761c057710f5b2#diff-c1382d923846002c27484cca55e555689da1e08c22f1f8a0343726fd881e86ce.
Is there a specific reason for why HA routers get excluded? If not,
this conditional in the SQL statement can be removed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2050236/+subscriptions
References