cluster-api-provider-aws
cluster-api-provider-aws copied to clipboard
🐛: elbv2: wait for LB active state instead of resolving DNS name
What type of PR is this?
/kind bug
What this PR does / why we need it:
Using DNS name resolution as a way to check the load balancer is working can cause problems that are dependent on the host running CAPA. In some systems, the DNS resolution can fail with very large TTLs cached DNS responses, causing very long provisioning times.
Instead of DNS resolution, let's use the AWS API to check for the load balancer "active" state. Waiting for resolvable DNS names should be left for the clients to do.
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 #5032
Special notes for your reviewer:
This is an alternative approach to https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/4976 and https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/5033.
Checklist:
- [ ] squashed commits
- [ ] includes documentation
- [X] includes emojis
- [ ] adds unit tests
- [ ] adds or updates e2e tests
Release note:
Check for the LB "active" status instead of trying to resolve the DNS name to validate the LB is ready.