Unverified Commit c5f46f9e authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #64400 from soltysh/fix_kubecl_rc

Automatic merge from submit-queue. Add retry to AssertCleanup **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: This addresses the other two problems mentioned in https://github.com/kubernetes/kubernetes/issues/64362 by cherry-picking https://github.com/kubernetes/kubernetes/pull/61565 and https://github.com/kubernetes/kubernetes/pull/62155 on to 1.10 release. **Release note**: ```release-note NONE ```
parents 04209a91 8819dee4
...@@ -2079,15 +2079,27 @@ func AssertCleanup(ns string, selectors ...string) { ...@@ -2079,15 +2079,27 @@ func AssertCleanup(ns string, selectors ...string) {
if ns != "" { if ns != "" {
nsArg = fmt.Sprintf("--namespace=%s", ns) nsArg = fmt.Sprintf("--namespace=%s", ns)
} }
for _, selector := range selectors {
resources := RunKubectlOrDie("get", "rc,svc", "-l", selector, "--no-headers", nsArg) var e error
if resources != "" { verifyCleanupFunc := func() (bool, error) {
Failf("Resources left running after stop:\n%s", resources) e = nil
} for _, selector := range selectors {
pods := RunKubectlOrDie("get", "pods", "-l", selector, nsArg, "-o", "go-template={{ range .items }}{{ if not .metadata.deletionTimestamp }}{{ .metadata.name }}{{ \"\\n\" }}{{ end }}{{ end }}") resources := RunKubectlOrDie("get", "rc,svc", "-l", selector, "--no-headers", nsArg)
if pods != "" { if resources != "" {
Failf("Pods left unterminated after stop:\n%s", pods) e = fmt.Errorf("Resources left running after stop:\n%s", resources)
return false, nil
}
pods := RunKubectlOrDie("get", "pods", "-l", selector, nsArg, "-o", "go-template={{ range .items }}{{ if not .metadata.deletionTimestamp }}{{ .metadata.name }}{{ \"\\n\" }}{{ end }}{{ end }}")
if pods != "" {
e = fmt.Errorf("Pods left unterminated after stop:\n%s", pods)
return false, nil
}
} }
return true, nil
}
err := wait.PollImmediate(500*time.Millisecond, 1*time.Minute, verifyCleanupFunc)
if err != nil {
Failf(e.Error())
} }
} }
......
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