Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change Azure global rate limit to per client #86515

Merged
merged 2 commits into from Dec 23, 2019

Conversation

@feiskyer
Copy link
Member

feiskyer commented Dec 22, 2019

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:

/kind api-change
/kind bug
/kind cleanup
/kind deprecation
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

/kind feature
/area provider/azure
/priority important-soon
/sig cloud-provider

What this PR does / why we need it:

Change Azure global rate limit to per client, so that one client's rate limit issue won't block another client.

Example configure:

{
                 // default rate limit (enabled).
                 "cloudProviderRatelimit": true,
		"cloudProviderRateLimitBucket": 1,
		"cloudProviderRateLimitBucketWrite": 1,
		"cloudProviderRateLimitQPS": 1,
		"cloudProviderRateLimitQPSWrite": 1,
		"virtualMachineScaleSetRateLimit": {
			// VMSS specific (enabled).
			"cloudProviderRatelimit": true,
			"cloudProviderRateLimitBucket": 2,
			"CloudProviderRateLimitBucketWrite": 2,
			"cloudProviderRateLimitQPS": 0,
			"CloudProviderRateLimitQPSWrite": 0
		},
		"loadBalancerRateLimit": {
			// LB specific (disabled)
			"cloudProviderRatelimit": false,
		},
}

Which issue(s) this PR fixes:

Fixes #86019

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Azure global rate limit is switched to per-client. A set of new rate limit configure options are introduced, including routeRateLimit, SubnetsRateLimit, InterfaceRateLimit, RouteTableRateLimit, LoadBalancerRateLimit, PublicIPAddressRateLimit, SecurityGroupRateLimit, VirtualMachineRateLimit, StorageAccountRateLimit, DiskRateLimit, SnapshotRateLimit, VirtualMachineScaleSetRateLimit and VirtualMachineSizeRateLimit.

The original rate limit options would be default values for those new client's rate limiter.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:


@k8s-ci-robot

This comment has been minimized.

Copy link
Contributor

k8s-ci-robot commented Dec 22, 2019

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: feiskyer

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 22, 2019

/test pull-kubernetes-e2e-aks-engine-azure
/test pull-kubernetes-e2e-azure-disk
/test pull-kubernetes-e2e-azure-disk-vmss

@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 22, 2019

/assign @andyzhangx

Copy link
Member

andyzhangx left a comment

code lgtm
is there upgrade test from old config to new config, make sure old config still works in new config?

@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 23, 2019

is there upgrade test from old config to new config, make sure old config still works in new config?

@andyzhangx yep, old configured rate limits are still working.

@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 23, 2019

/test pull-kubernetes-e2e-aks-engine-azure
/test pull-kubernetes-e2e-azure-disk
/test pull-kubernetes-e2e-azure-disk-vmss

@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 23, 2019

/retest

Copy link
Member

andyzhangx left a comment

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm label Dec 23, 2019
@feiskyer

This comment has been minimized.

Copy link
Member Author

feiskyer commented Dec 23, 2019

/test pull-kubernetes-e2e-gce

@k8s-ci-robot k8s-ci-robot merged commit 92e0de3 into kubernetes:master Dec 23, 2019
17 of 18 checks passed
17 of 18 checks passed
tide Not mergeable. Retesting: pull-kubernetes-kubemark-e2e-gce-big
Details
cla/linuxfoundation feiskyer authorized
Details
pull-kubernetes-bazel-build Job succeeded.
Details
pull-kubernetes-bazel-test Job succeeded.
Details
pull-kubernetes-dependencies Job succeeded.
Details
pull-kubernetes-e2e-aks-engine-azure Job succeeded.
Details
pull-kubernetes-e2e-azure-disk Job succeeded.
Details
pull-kubernetes-e2e-azure-disk-vmss Job succeeded.
Details
pull-kubernetes-e2e-gce Job succeeded.
Details
pull-kubernetes-e2e-gce-100-performance Job succeeded.
Details
pull-kubernetes-e2e-gce-device-plugin-gpu Job succeeded.
Details
pull-kubernetes-e2e-kind Job succeeded.
Details
pull-kubernetes-integration Job succeeded.
Details
pull-kubernetes-kubemark-e2e-gce-big Job succeeded.
Details
pull-kubernetes-node-e2e Job succeeded.
Details
pull-kubernetes-node-e2e-containerd Job succeeded.
Details
pull-kubernetes-typecheck Job succeeded.
Details
pull-kubernetes-verify Job succeeded.
Details
@k8s-ci-robot k8s-ci-robot added this to the v1.18 milestone Dec 23, 2019
@feiskyer feiskyer deleted the feiskyer:separate-limit branch Dec 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.