Skip to content

fix(neutron): handle centralized and distributed router ports properly - #2171

Merged
cardoe merged 2 commits into
mainfrom
skip-hcg-router-ports
Jul 30, 2026
Merged

fix(neutron): handle centralized and distributed router ports properly#2171
cardoe merged 2 commits into
mainfrom
skip-hcg-router-ports

Conversation

@cardoe

@cardoe cardoe commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Rebased our understack/2026.1 on top of the latest stable/2026.1 so that we pull in https://review.opendev.org/c/openstack/neutron/+/998088 which is needed to ensure Neutron does not incorrectly pin ports. At the same time update our HCG workaround to avoid setting it on ports that are centralized.

link_vxlan_network_ha_chassis_group anchored the internal router-interface
Logical_Router_Port to the network's unified HA_Chassis_Group. Every vxlan
gateway router is centralized (options:chassis set), and anchoring one of
its ports as a distributed gateway port makes ovn-northd log "Bad
configuration: distributed gateway port configured on port ... on L3
gateway router" and ignore the setting anyway. Skip that anchor whenever
the owning router is centralized; the network HCG population (the part
that actually fixes external/baremetal port routing) is untouched.

Also fix scripts/cleanup_dead_ovn_ha_chassis.py to match:

- Drop the now-invalid LRP anchor from Phase 2's repopulation action.
- Phase 2 previously derived the gateway chassis solely from the router's
  own per-router HA_Chassis_Group (neutron-<router_id>). That group is
  only ever created once, at gateway-port-creation time, and nothing
  recreates it if deleted -- several routers in the fleet had
  options:chassis set but no such group, so Phase 2 skipped them forever.
  Now reads Logical_Router.options.chassis directly as the primary,
  always-reliable source, falling back to the per-router HCG only when
  the router isn't centralized.
@cardoe
cardoe requested a review from a team July 28, 2026 23:33
@cardoe cardoe changed the title skip hcg router ports fix(neutron): handle centralized and distributed router ports properly Jul 28, 2026
We need the fix in
https://review.opendev.org/c/openstack/neutron/+/998088 to ensure that
our router ports get properly scheduled and not incorrectly pinned which
breaks their traffic. Plus this backports
https://review.opendev.org/c/openstack/neutron/+/999158 which at this
time is proposed upstream.
@cardoe
cardoe force-pushed the skip-hcg-router-ports branch from d69ed37 to 36e972c Compare July 29, 2026 16:33
@haseebsyed12
haseebsyed12 force-pushed the skip-hcg-router-ports branch from 36e972c to 94b68d7 Compare July 29, 2026 18:02
@cardoe
cardoe force-pushed the skip-hcg-router-ports branch from 94b68d7 to 575418c Compare July 29, 2026 18:26
@cardoe
cardoe enabled auto-merge July 29, 2026 20:08
@cardoe
cardoe added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit ff80350 Jul 30, 2026
66 checks passed
@cardoe
cardoe deleted the skip-hcg-router-ports branch July 30, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants