Merge pull request #82803 from deads2k/dump-namespace-resource

dump namespace object in e2e when it doesn't get deleted
This commit is contained in:
Kubernetes Prow Robot 2019-09-17 16:55:15 -07:00 committed by GitHub
commit c49cbe3514
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -94,6 +94,7 @@ go_library(
"//test/e2e/system:go_default_library", "//test/e2e/system:go_default_library",
"//test/utils:go_default_library", "//test/utils:go_default_library",
"//test/utils/image:go_default_library", "//test/utils/image:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
"//vendor/github.com/onsi/ginkgo:go_default_library", "//vendor/github.com/onsi/ginkgo:go_default_library",
"//vendor/github.com/onsi/ginkgo/config:go_default_library", "//vendor/github.com/onsi/ginkgo/config:go_default_library",
"//vendor/github.com/onsi/gomega:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library",

View File

@ -40,6 +40,7 @@ import (
"syscall" "syscall"
"time" "time"
"github.com/davecgh/go-spew/spew"
"golang.org/x/net/websocket" "golang.org/x/net/websocket"
"k8s.io/klog" "k8s.io/klog"
@ -871,8 +872,11 @@ func deleteNS(c clientset.Interface, dynamicClient dynamic.Interface, namespace
} }
// wait for namespace to delete or timeout. // wait for namespace to delete or timeout.
var lastNamespace *v1.Namespace
err := wait.PollImmediate(2*time.Second, timeout, func() (bool, error) { err := wait.PollImmediate(2*time.Second, timeout, func() (bool, error) {
if _, err := c.CoreV1().Namespaces().Get(namespace, metav1.GetOptions{}); err != nil { var err error
lastNamespace, err = c.CoreV1().Namespaces().Get(namespace, metav1.GetOptions{})
if err != nil {
if apierrs.IsNotFound(err) { if apierrs.IsNotFound(err) {
return true, nil return true, nil
} }
@ -902,6 +906,9 @@ func deleteNS(c clientset.Interface, dynamicClient dynamic.Interface, namespace
// a timeout waiting for namespace deletion happened! // a timeout waiting for namespace deletion happened!
if err != nil { if err != nil {
// namespaces now have conditions that are useful for debugging generic resources and finalizers
e2elog.Logf("namespace did not cleanup: %s", spew.Sdump(lastNamespace))
// some content remains in the namespace // some content remains in the namespace
if remainingContent { if remainingContent {
// pods remain // pods remain