Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Azure cloudprovider retry using flowcontrol #46660
An initial attempt at engaging exponential backoff for API error responses.
Uses k8s.io/client-go/util/flowcontrol; implementation inspired by GCE
What this PR does / why we need it:
The existing azure cloudprovider implementation has no guard rails in place to adapt to unexpected underlying operational conditions (i.e., clogs in resource plumbing between k8s runtime and the cloud API). The purpose of these changes is to support exponential backoff wrapping around API calls; and to support targeted rate limiting. Both of these options are configurable via
Implementation inspired by the GCE's use of
Special notes for your reviewer:
Pay especial note to the declaration of retry-able conditions from an unsuccessful HTTP request:
And the declaration of retry success conditions:
Tests updated to include additions to
Those may be incomplete, or in other ways non-representative.
Hi @jackfrancis. Thanks for your PR.
I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with
[APPROVALNOTIFIER] This PR is APPROVED
Associated issue: 47048
The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing
@jackfrancis: The following test failed, say