preferring float32 for rate limit QPS param

This commit is contained in:
Jack Francis 2017-06-06 22:21:14 -07:00
parent 2accbbd618
commit acb65170f3
2 changed files with 6 additions and 6 deletions

View File

@ -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 {
// 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) {
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,

View File

@ -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
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) {
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 {