move all RetryX to retry.Expo
parent
998d305af3
commit
06d0e48156
|
|
@ -31,7 +31,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"k8s.io/minikube/pkg/minikube/constants"
|
||||
pkgutil "k8s.io/minikube/pkg/util"
|
||||
"k8s.io/minikube/test/integration/util"
|
||||
"k8s.io/minikube/pkg/util/retry"
|
||||
)
|
||||
|
||||
// Note this test runs before all because filename is alphabetically first
|
||||
|
|
@ -78,7 +78,7 @@ func downloadMinikubeBinary(t *testing.T, dest string, version string) error {
|
|||
return getter.GetFile(dest, url)
|
||||
}
|
||||
|
||||
if err := util.RetryX(download, 13*time.Second, 5*time.Minute); err != nil {
|
||||
if err := retry.Expo(download, 3*time.Second, 3*time.Minute); err != nil {
|
||||
return errors.Wrap(err, "Failed to get latest release binary")
|
||||
}
|
||||
if runtime.GOOS != "windows" {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import (
|
|||
|
||||
"github.com/docker/machine/libmachine/state"
|
||||
"k8s.io/minikube/pkg/minikube/constants"
|
||||
"k8s.io/minikube/test/integration/util"
|
||||
"k8s.io/minikube/pkg/util/retry"
|
||||
)
|
||||
|
||||
func TestStartStop(t *testing.T) {
|
||||
|
|
@ -105,7 +105,7 @@ func TestStartStop(t *testing.T) {
|
|||
return mk.CheckStatusNoFail(state.Stopped.String())
|
||||
}
|
||||
|
||||
err = util.RetryX(stop, 10*time.Second, 2*time.Minute)
|
||||
err = retry.Expo(stop, 10*time.Second, 5*time.Minute)
|
||||
mk.CheckStatus(state.Stopped.String())
|
||||
|
||||
stdout, stderr, err = mk.Start(tc.args...)
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/cenkalti/backoff"
|
||||
"github.com/pkg/errors"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
commonutil "k8s.io/minikube/pkg/util"
|
||||
|
|
@ -49,29 +48,6 @@ func Retry(t *testing.T, callback func() error, d time.Duration, attempts int) (
|
|||
return err
|
||||
}
|
||||
|
||||
// Retry2 tries the callback for a number of attempts, with a delay without *testing.T
|
||||
func Retry2(callback func() error, d time.Duration, attempts int) (err error) {
|
||||
for i := 0; i < attempts; i++ {
|
||||
err = callback()
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
time.Sleep(d)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// RetryX is expontential backoff retry
|
||||
func RetryX(callback func() error, initInterv time.Duration, maxTime time.Duration) error {
|
||||
b := backoff.NewExponentialBackOff()
|
||||
b.MaxElapsedTime = maxTime
|
||||
b.InitialInterval = initInterv
|
||||
b.RandomizationFactor = 0.5
|
||||
b.Multiplier = 1.5
|
||||
b.Reset()
|
||||
return backoff.Retry(callback, b)
|
||||
}
|
||||
|
||||
// Logf writes logs to stdout if -v is set.
|
||||
func Logf(str string, args ...interface{}) {
|
||||
if !testing.Verbose() {
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"k8s.io/minikube/pkg/minikube/assets"
|
||||
commonutil "k8s.io/minikube/pkg/util"
|
||||
"k8s.io/minikube/pkg/util/retry"
|
||||
)
|
||||
|
||||
// MinikubeRunner runs a command
|
||||
|
|
@ -234,7 +235,7 @@ func (m *MinikubeRunner) Start(opts ...string) (stdout string, stderr string, er
|
|||
stdout, stderr, err = m.RunCommandRetriable(cmd)
|
||||
return err
|
||||
}
|
||||
err = RetryX(s, 10*time.Second, m.TimeOutStart)
|
||||
err = retry.Expo(s, 10*time.Second, m.TimeOutStart)
|
||||
return stdout, stderr, err
|
||||
}
|
||||
|
||||
|
|
@ -282,7 +283,7 @@ func (m *MinikubeRunner) Status() (status string, stderr string, err error) {
|
|||
status = strings.TrimRight(status, "\n")
|
||||
return err
|
||||
}
|
||||
err = RetryX(s, 15*time.Second, 1*time.Minute)
|
||||
err = retry.Expo(s, 3*time.Second, 2*time.Minute)
|
||||
if err != nil && (status == state.None.String() || status == state.Stopped.String()) {
|
||||
err = nil // because https://github.com/kubernetes/minikube/issues/4932
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import (
|
|||
"github.com/docker/machine/libmachine/state"
|
||||
"github.com/pkg/errors"
|
||||
"k8s.io/minikube/pkg/minikube/constants"
|
||||
"k8s.io/minikube/test/integration/util"
|
||||
"k8s.io/minikube/pkg/util/retry"
|
||||
)
|
||||
|
||||
func fileExists(fname string) error {
|
||||
|
|
@ -43,7 +43,7 @@ func fileExists(fname string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
if err := util.Retry2(check, 1*time.Second, 3); err != nil {
|
||||
if err := retry.Expo(check, 1*time.Second, 3); err != nil {
|
||||
return errors.Wrap(err, fmt.Sprintf("Failed check if file (%q) exists,", fname))
|
||||
}
|
||||
return nil
|
||||
|
|
|
|||
Loading…
Reference in New Issue