diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go index d557d2d9614..bbede98aab1 100644 --- a/test/e2e/framework/framework.go +++ b/test/e2e/framework/framework.go @@ -445,7 +445,10 @@ func (f *Framework) CreateNamespace(baseName string, labels map[string]string) ( createTestingNS = CreateTestingNS } ns, err := createTestingNS(baseName, f.ClientSet, labels) - if err == nil { + // check ns instead of err to see if it's nil as we may + // fail to create serviceAccount in it. + // In this case, we should not forget to delete the namespace. + if ns != nil { f.namespacesToDelete = append(f.namespacesToDelete, ns) } return ns, err diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 9b56830089f..021e6327d03 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -916,7 +916,10 @@ func CreateTestingNS(baseName string, c clientset.Interface, labels map[string]s if TestContext.VerifyServiceAccount { if err := WaitForDefaultServiceAccountInNamespace(c, got.Name); err != nil { - return nil, err + // Even if we fail to create serviceAccount in the namespace, + // we have successfully create a namespace. + // So, return the created namespace. + return got, err } } return got, nil