mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #14476 from gmarek/framework
Add an option to modify timeout for namespace duration in e2e Framework
This commit is contained in:
commit
ec0e1faab4
@ -82,7 +82,7 @@ var _ = Describe("Density", func() {
|
|||||||
var additionalPodsPrefix string
|
var additionalPodsPrefix string
|
||||||
var ns string
|
var ns string
|
||||||
var uuid string
|
var uuid string
|
||||||
framework := Framework{BaseName: "density"}
|
framework := Framework{BaseName: "density", NamespaceDeletionTimeout: time.Hour}
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
framework.beforeEach()
|
framework.beforeEach()
|
||||||
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||||||
package e2e
|
package e2e
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
@ -39,7 +41,7 @@ var _ = Describe("Docker Containers", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -63,7 +63,7 @@ var _ = Describe("Examples e2e", func() {
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -458,7 +458,7 @@ var _ = Describe("Examples e2e", func() {
|
|||||||
var err error
|
var err error
|
||||||
namespaces[i], err = createTestingNS(fmt.Sprintf("dnsexample%d", i), c)
|
namespaces[i], err = createTestingNS(fmt.Sprintf("dnsexample%d", i), c)
|
||||||
if namespaces[i] != nil {
|
if namespaces[i] != nil {
|
||||||
defer deleteNS(c, namespaces[i].Name)
|
defer deleteNS(c, namespaces[i].Name, 5*time.Minute /* namespace deletion timeout */)
|
||||||
}
|
}
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ type Framework struct {
|
|||||||
|
|
||||||
Namespace *api.Namespace
|
Namespace *api.Namespace
|
||||||
Client *client.Client
|
Client *client.Client
|
||||||
|
NamespaceDeletionTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewFramework makes a new framework and sets up a BeforeEach/AfterEach for
|
// NewFramework makes a new framework and sets up a BeforeEach/AfterEach for
|
||||||
@ -101,7 +102,11 @@ func (f *Framework) afterEach() {
|
|||||||
|
|
||||||
By(fmt.Sprintf("Destroying namespace %q for this suite.", f.Namespace.Name))
|
By(fmt.Sprintf("Destroying namespace %q for this suite.", f.Namespace.Name))
|
||||||
|
|
||||||
if err := deleteNS(f.Client, f.Namespace.Name); err != nil {
|
timeout := 5 * time.Minute
|
||||||
|
if f.NamespaceDeletionTimeout != 0 {
|
||||||
|
timeout = f.NamespaceDeletionTimeout
|
||||||
|
}
|
||||||
|
if err := deleteNS(f.Client, f.Namespace.Name, timeout); err != nil {
|
||||||
Failf("Couldn't delete ns %q: %s", f.Namespace.Name, err)
|
Failf("Couldn't delete ns %q: %s", f.Namespace.Name, err)
|
||||||
}
|
}
|
||||||
// Paranoia-- prevent reuse!
|
// Paranoia-- prevent reuse!
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/latest"
|
"k8s.io/kubernetes/pkg/api/latest"
|
||||||
@ -53,7 +54,7 @@ var _ = Describe("hostPath", func() {
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
By(fmt.Sprintf("Destroying namespace for this suite %v", namespace.Name))
|
By(fmt.Sprintf("Destroying namespace for this suite %v", namespace.Name))
|
||||||
if err := deleteNS(c, namespace.Name); err != nil {
|
if err := deleteNS(c, namespace.Name, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -81,7 +81,7 @@ var _ = Describe("Kubectl client", func() {
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -53,7 +53,7 @@ var _ = Describe("Load capacity", func() {
|
|||||||
var nodeCount int
|
var nodeCount int
|
||||||
var ns string
|
var ns string
|
||||||
var configs []*RCConfig
|
var configs []*RCConfig
|
||||||
framework := Framework{BaseName: "density"}
|
framework := Framework{BaseName: "load", NamespaceDeletionTimeout: time.Hour}
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
framework.beforeEach()
|
framework.beforeEach()
|
||||||
|
@ -47,7 +47,7 @@ var _ = Describe("[Skipped] persistentVolumes", func() {
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -402,7 +402,7 @@ var _ = Describe("Nodes", func() {
|
|||||||
Failf("Not all nodes are ready: %v", err)
|
Failf("Not all nodes are ready: %v", err)
|
||||||
}
|
}
|
||||||
By(fmt.Sprintf("destroying namespace for this suite %s", ns))
|
By(fmt.Sprintf("destroying namespace for this suite %s", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete namespace '%s', %v", ns, err)
|
Failf("Couldn't delete namespace '%s', %v", ns, err)
|
||||||
}
|
}
|
||||||
if err := checkTestingNSDeletedExcept(c, ""); err != nil {
|
if err := checkTestingNSDeletedExcept(c, ""); err != nil {
|
||||||
|
@ -171,7 +171,7 @@ var _ = Describe("SchedulerPredicates", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
By(fmt.Sprintf("Destroying namespace for this suite %v", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 10*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -65,7 +65,7 @@ var _ = Describe("Services", func() {
|
|||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
for _, ns := range namespaces {
|
for _, ns := range namespaces {
|
||||||
By(fmt.Sprintf("Destroying namespace %v", ns))
|
By(fmt.Sprintf("Destroying namespace %v", ns))
|
||||||
if err := deleteNS(c, ns); err != nil {
|
if err := deleteNS(c, ns, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete namespace %s: %s", ns, err)
|
Failf("Couldn't delete namespace %s: %s", ns, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -531,12 +531,12 @@ func checkTestingNSDeletedExcept(c *client.Client, skip string) error {
|
|||||||
|
|
||||||
// deleteNS deletes the provided namespace, waits for it to be completely deleted, and then checks
|
// deleteNS deletes the provided namespace, waits for it to be completely deleted, and then checks
|
||||||
// whether there are any pods remaining in a non-terminating state.
|
// whether there are any pods remaining in a non-terminating state.
|
||||||
func deleteNS(c *client.Client, namespace string) error {
|
func deleteNS(c *client.Client, namespace string, timeout time.Duration) error {
|
||||||
if err := c.Namespaces().Delete(namespace); err != nil {
|
if err := c.Namespaces().Delete(namespace); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err := wait.Poll(5*time.Second, 5*time.Minute, func() (bool, error) {
|
err := wait.Poll(5*time.Second, timeout, func() (bool, error) {
|
||||||
if _, err := c.Namespaces().Get(namespace); err != nil {
|
if _, err := c.Namespaces().Get(namespace); err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrs.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
|
@ -236,7 +236,7 @@ var _ = Describe("Volumes", func() {
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
if clean {
|
if clean {
|
||||||
if err := deleteNS(c, namespace.Name); err != nil {
|
if err := deleteNS(c, namespace.Name, 5*time.Minute /* namespace deletion timeout */); err != nil {
|
||||||
Failf("Couldn't delete ns %s", err)
|
Failf("Couldn't delete ns %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user