Commit acb65170 authored by Jack Francis's avatar Jack Francis

preferring float32 for rate limit QPS param

parent 2accbbd6
...@@ -40,7 +40,7 @@ import ( ...@@ -40,7 +40,7 @@ import (
const ( const (
// CloudProviderName is the value used for the --cloud-provider flag // CloudProviderName is the value used for the --cloud-provider flag
CloudProviderName = "azure" CloudProviderName = "azure"
rateLimitQPSDefault = 1 rateLimitQPSDefault = 1.0
rateLimitBucketDefault = 5 rateLimitBucketDefault = 5
backoffRetriesDefault = 6 backoffRetriesDefault = 6
backoffExponentDefault = 1.5 backoffExponentDefault = 1.5
...@@ -93,7 +93,7 @@ type Config struct { ...@@ -93,7 +93,7 @@ type Config struct {
// Enable rate limiting // Enable rate limiting
CloudProviderRateLimit bool `json:"cloudProviderRateLimit" yaml:"cloudProviderRateLimit"` CloudProviderRateLimit bool `json:"cloudProviderRateLimit" yaml:"cloudProviderRateLimit"`
// Rate limit QPS // Rate limit QPS
CloudProviderRateLimitQPS int `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPS"` CloudProviderRateLimitQPS float32 `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPS"`
// Rate limit Bucket Size // Rate limit Bucket Size
CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucket"` CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucket"`
} }
...@@ -216,7 +216,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) { ...@@ -216,7 +216,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
az.CloudProviderRateLimitBucket = rateLimitBucketDefault az.CloudProviderRateLimitBucket = rateLimitBucketDefault
} }
az.operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter( az.operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter(
float32(az.CloudProviderRateLimitQPS), az.CloudProviderRateLimitQPS,
az.CloudProviderRateLimitBucket) az.CloudProviderRateLimitBucket)
glog.V(2).Infof("Azure cloudprovider using rate limit config: QPS=%d, bucket=%d", glog.V(2).Infof("Azure cloudprovider using rate limit config: QPS=%d, bucket=%d",
az.CloudProviderRateLimitQPS, az.CloudProviderRateLimitQPS,
......
...@@ -598,7 +598,7 @@ func TestNewCloudFromJSON(t *testing.T) { ...@@ -598,7 +598,7 @@ func TestNewCloudFromJSON(t *testing.T) {
"cloudProviderBackoffDuration": 5, "cloudProviderBackoffDuration": 5,
"cloudProviderBackoffJitter": 1.0, "cloudProviderBackoffJitter": 1.0,
"cloudProviderRatelimit": true, "cloudProviderRatelimit": true,
"cloudProviderRateLimitQPS": 1, "cloudProviderRateLimitQPS": 0.5,
"cloudProviderRateLimitBucket": 5 "cloudProviderRateLimitBucket": 5
}` }`
validateConfig(t, config) validateConfig(t, config)
...@@ -638,7 +638,7 @@ cloudProviderBackoffExponent: 1.5 ...@@ -638,7 +638,7 @@ cloudProviderBackoffExponent: 1.5
cloudProviderBackoffDuration: 5 cloudProviderBackoffDuration: 5
cloudProviderBackoffJitter: 1.0 cloudProviderBackoffJitter: 1.0
cloudProviderRatelimit: true cloudProviderRatelimit: true
cloudProviderRateLimitQPS: 1 cloudProviderRateLimitQPS: 0.5
cloudProviderRateLimitBucket: 5 cloudProviderRateLimitBucket: 5
` `
validateConfig(t, config) validateConfig(t, config)
...@@ -698,7 +698,7 @@ func validateConfig(t *testing.T, config string) { ...@@ -698,7 +698,7 @@ func validateConfig(t *testing.T, config string) {
if azureCloud.CloudProviderRateLimit != true { if azureCloud.CloudProviderRateLimit != true {
t.Errorf("got incorrect value for CloudProviderRateLimit") t.Errorf("got incorrect value for CloudProviderRateLimit")
} }
if azureCloud.CloudProviderRateLimitQPS != 1 { if azureCloud.CloudProviderRateLimitQPS != 0.5 {
t.Errorf("got incorrect value for CloudProviderRateLimitQPS") t.Errorf("got incorrect value for CloudProviderRateLimitQPS")
} }
if azureCloud.CloudProviderRateLimitBucket != 5 { if azureCloud.CloudProviderRateLimitBucket != 5 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment