Skip to content

Configure controllers to watch ASO resources and queue reconcile requests for the appropriate CAPZ resources #4339

Open
@nojnhuh

Description

@nojnhuh

/kind cleanup

What needs cleanup:
Currently, CAPZ doesn't use the "watch" feature of Kubernetes clients to react to changes to ASO resources asynchronously. Instead, CAPZ has been liberally returning reconciliation Results with a defined RequeueAfter to effectively poll for status. These RequeueAfter values introduce some potential dead time where an ASO resource has been updated but the CAPZ controller is still waiting until RequeueAfter to re-reconcile the CAPZ resource. This extra time could be cut down with a watch set up on the ASO resources.

Describe the solution you'd like
Configure each controller in its SetupWithManager to watch the appropriate ASO resources and enqueue reconcile requests. #4340 would make this fairly straightforward with the Owns() method of the controller builder.

Anything else you would like to add:
One open question: Should CAPZ watch BYO ASO resources and queue requests based on changes to them?

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions