Skip to content

Refactor Gateway API Reconcilers into single reconciler #40809

@youngnick

Description

@youngnick

Currently, the Cilium Gateway API reconcilers are split, so that each Route type has its own reconciler, that runs checks over the route and updates the Status of the Route to Accepted if they all pass. The Gateway reconciler checks Routes on each of their updates, and once they are Accepted, takes action on them. This approach works, but is prone to eventual consistency problems and odd races.

When refactoring the GAMMA reconciler in #39922, I instead built the Route checking into the reconciler, and found that it made some things much easier.

This issue is to track work to migrate the Gateway API reconcilers to use a similar single-reconciler pattern. Followup work will be to go through the Route processing and see if we have subtle bugs in there that can cause issues (it seems like #34982 is one example).

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions