Merge pull request #78601 from loqutus/aws-encrypted-check-exponential-backoff

change aws encryptedCheck to exponential backoff
This commit is contained in:
Kubernetes Prow Robot 2019-07-09 08:26:04 -07:00 committed by GitHub
commit c88bda6a20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -231,12 +231,12 @@ const (
createTagFactor = 2.0
createTagSteps = 9
// encryptedCheck* is configuration of poll for created volume to check
// it has not been silently removed by AWS.
// volumeCreate* is configuration of exponential backoff for created volume.
// On a random AWS account (shared among several developers) it took 4s on
// average.
encryptedCheckInterval = 1 * time.Second
encryptedCheckTimeout = 30 * time.Second
// average, 8s max.
volumeCreateInitialDelay = 5 * time.Second
volumeCreateBackoffFactor = 1.2
volumeCreateBackoffSteps = 10
// Number of node names that can be added to a filter. The AWS limit is 200
// but we are using a lower limit on purpose
@ -2448,8 +2448,13 @@ func (c *Cloud) waitUntilVolumeAvailable(volumeName KubernetesVolumeID) error {
// Unreachable code
return err
}
err = wait.Poll(encryptedCheckInterval, encryptedCheckTimeout, func() (done bool, err error) {
time.Sleep(5 * time.Second)
backoff := wait.Backoff{
Duration: volumeCreateInitialDelay,
Factor: volumeCreateBackoffFactor,
Steps: volumeCreateBackoffSteps,
}
err = wait.ExponentialBackoff(backoff, func() (done bool, err error) {
vol, err := disk.describeVolume()
if err != nil {
return true, err