This repository has been archived by the owner on Mar 22, 2018. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #59830 from khenidak/az-ratelimit
Automatic merge from submit-queue (batch tested with PRs 59939, 59830). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Azure - ARM Read/Write rate limiting **What this PR does / why we need it**: Azure cloud provider currently runs with: 1. Single ARM rate limiter for both `read [put/post/delete]` and `write` operations, while ARM provide [different rates for read/write] (https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits). This causes write operation to stop even if there is available write request quotas. 2. Cloud provider uses rate limiter's `Accept()` instead of `TryAccept()` This causes control loop to wait for prolonged tike `in case of no request quota available` for **all** requests even for those does not require ARM interaction. A case for that the `Service` control loop will wait for a prolonged time trying to create `LoadBalancer` service even though it can fail and work on the next service which is `ClusterIP`. This PR moves cloud provider tp `TryAccept()` **Which issue(s) this PR fixes**: Fixes # kubernetes/kubernetes#58770 **Special notes for your reviewer**: `n/a` **Release note**: ```release-note - Separate current ARM rate limiter into read/write - Improve control over how ARM rate limiter is used within Azure cloud provider ``` cc @jackfrancis (need your help carefully reviewing this one) @brendanburns @jdumars
- Loading branch information