cluster-api-provider-aws icon indicating copy to clipboard operation
cluster-api-provider-aws copied to clipboard

✨Create multiple control plane loadbalancers concurrently

Open mdbooth opened this issue 4 months ago • 1 comments
trafficstars

What type of PR is this?

/kind feature

What this PR does / why we need it:

LoadBalancers take many minutes to become available after creation. We currently wait synchronously for a loadbalancer to become available immediately after creation. This increases total cluster installation time when creating multiple control plane loadbalancers as we don't create a loadbalancer until the previous one is fully initialised. It would be more time-efficient to create them all first, then wait for them to become available.

This PR splits loadbalancer creation into 2 phases:

  • Get or create
  • Reconcile

We ensure that we do the waiting in the reconcile phase after all getOrCreates have executes.

This PR doesn't introduce any parallel execution in CAPA. It simply changes the order of operations so that loadbalancer initialisations can proceed concurrently in AWS.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #5568

Special notes for your reviewer:

Checklist:

  • [X] squashed commits
  • [ ] includes documentation
  • [ ] includes emoji in title
  • [ ] adds unit tests
  • [ ] adds or updates e2e tests

Release note:

Control plane loadbalancers are created concurrently, reducing cluster
installation time when using multiple control plane loadbalancers.

mdbooth avatar Jun 27 '25 10:06 mdbooth