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 <[email protected]> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

