Skip to content

feat(kubectl-us): audit and repair NAT gateway_port on routers - #2614

Merged
cardoe merged 1 commit into
mainfrom
fix/kubectl-us-router-audit-nat-gateway-port
Nov 2, 2026
Merged

cardoe merged 1 commit into
mainfrom
fix/kubectl-us-router-audit-nat-gateway-port

Conversation

@cardoe

@cardoe cardoe commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

northd ignores a NAT whose gateway_port is not a distributed gateway
port on the router, logging "is not a valid distributed gateway port".
For a floating IP that breaks the dnat_and_snat entry, but nothing in
router audit noticed: the router, LRPs and LSPs all looked healthy.

Load the router's NAT rows and FAIL any whose gateway_port is not an
attached LRP with gateway_chassis or ha_chassis_group. NATs without
a gateway_port are skipped.

router repair gains a NAT domain that plans clear NAT <uuid> gateway_port
for each failing NAT, applies it in the same transaction
as the other repairs, and verifies the NATs are clean afterwards. The
repair summary line now reports the NAT count.

@github-actions github-actions Bot added the skip-changelog Omit from the platform release notes (released separately, or not operator-facing) label Oct 29, 2026
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Python test results

497 tests   497 ✅  2s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 0c4f62b.

♻️ This comment has been updated with latest results.

@cardoe
cardoe force-pushed the fix/kubectl-us-router-audit-nat-gateway-port branch from 572a053 to 93f3e46 Compare November 2, 2026 21:56
@cardoe cardoe changed the title feat(kubectl-us): audit NAT gateway_port on routers feat(kubectl-us): audit and repair NAT gateway_port on routers Nov 2, 2026
northd ignores a NAT whose `gateway_port` is not a distributed gateway
port on the router, logging "is not a valid distributed gateway port".
For a floating IP that breaks the dnat_and_snat entry, but nothing in
`router audit` noticed: the router, LRPs and LSPs all looked healthy.

Load the router's NAT rows and FAIL any whose `gateway_port` is not an
attached LRP with `gateway_chassis` or `ha_chassis_group`. NATs without
a `gateway_port` are skipped.

`router repair` gains a NAT domain that plans `clear NAT <uuid>
gateway_port` for each failing NAT, applies it in the same transaction
as the other repairs, and verifies the NATs are clean afterwards. The
repair summary line now reports the NAT count.
@cardoe
cardoe force-pushed the fix/kubectl-us-router-audit-nat-gateway-port branch from 93f3e46 to 0c4f62b Compare November 2, 2026 21:57
@cardoe
cardoe marked this pull request as ready for review November 2, 2026 21:58
@cardoe
cardoe added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit a54b962 Nov 2, 2026
73 checks passed
@cardoe
cardoe deleted the fix/kubectl-us-router-audit-nat-gateway-port branch November 2, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Omit from the platform release notes (released separately, or not operator-facing)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants