add timeout for linodego http client #219
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why this PR is needed
We see cloud-controller-manager stuck for 10-15 mins when doing vpcless installs with firewalling enabled using cluster-api-provider-linode. Upon further troubleshooting, we see some calls getting stuck for more than 10 mins:
This PR adds timeout for http requests so that they complete within the specified time (default 2 min, configurable using LINODE_REQUEST_TIMEOUT environment variable).
Steps to reproduce the issue using CAPL:
How to test the fix
Provision CAPL cluster for vpcless flavor with linode-ccm image set to image built from this patch. I have a custom image with this patch at
docker.io/rahulait/ccm:timeout
. Once provisioned, check and see that nodes have joined the cluster without much gaps between their provisioning.General:
Pull Request Guidelines: