Merge pull request #5784 from tstromberg/podwait-none2

Improve reliability of TestStartStop with none driver
pull/5794/head
Thomas Strömberg 2019-10-30 06:08:53 -07:00 committed by GitHub
commit ba8aeaae71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View File

@ -37,9 +37,10 @@ SUDO_PREFIX="sudo -E "
export KUBECONFIG="/root/.kube/config"
# "none" driver specific cleanup from previous runs.
sudo kubeadm reset -f || true
# kubeadm reset may not stop pods immediately
docker rm -f $(docker ps -aq) >/dev/null 2>&1 || true
# Try without -f first, primarily because older kubeadm versions (v1.10) don't support it anyways.
sudo kubeadm reset || sudo kubeadm reset -f || true
# Cleanup data directory
sudo rm -rf /data/*
# Cleanup old Kubernetes configs

View File

@ -227,9 +227,8 @@ func PodWait(ctx context.Context, t *testing.T, profile string, ns string, selec
f := func() (bool, error) {
pods, err := client.CoreV1().Pods(ns).List(listOpts)
if err != nil {
t.Logf("Pod(%s).List(%v) returned error: %v", ns, selector, err)
// Don't bother to retry: something is very wrong.
return true, err
t.Logf("WARNING: pod list for %q %q returned: %v", ns, selector, err)
return false, err
}
if len(pods.Items) == 0 {
podStart = time.Time{}

View File

@ -85,7 +85,7 @@ func TestStartStop(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 40*time.Minute)
defer CleanupWithLogs(t, profile, cancel)
startArgs := append([]string{"start", "-p", profile, "--alsologtostderr", "-v=3"}, tc.args...)
startArgs := append([]string{"start", "-p", profile, "--alsologtostderr", "-v=3", "--wait=true"}, tc.args...)
startArgs = append(startArgs, StartArgs()...)
rr, err := Run(t, exec.CommandContext(ctx, Target(), startArgs...))
if err != nil {
@ -103,7 +103,7 @@ func TestStartStop(t *testing.T) {
t.Fatalf("%s failed: %v", rr.Args, err)
}
names, err := PodWait(ctx, t, profile, "default", "integration-test=busybox", 2*time.Minute)
names, err := PodWait(ctx, t, profile, "default", "integration-test=busybox", 4*time.Minute)
if err != nil {
t.Fatalf("wait: %v", err)
}