mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Soak tests should wait until namespaces are dead before exiting
This commit is contained in:
parent
5000252e46
commit
40e80e1e75
@ -31,6 +31,7 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/errors"
|
||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
"k8s.io/kubernetes/pkg/labels"
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
@ -51,6 +52,7 @@ const (
|
|||||||
podCreateTimeout = 2 * time.Minute
|
podCreateTimeout = 2 * time.Minute
|
||||||
podStartTimeout = 30 * time.Minute
|
podStartTimeout = 30 * time.Minute
|
||||||
serviceCreateTimeout = 2 * time.Minute
|
serviceCreateTimeout = 2 * time.Minute
|
||||||
|
namespaceDeleteTimeout = 5 * time.Minute
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -96,6 +98,16 @@ func main() {
|
|||||||
defer func(ns string) {
|
defer func(ns string) {
|
||||||
if err := c.Namespaces().Delete(ns); err != nil {
|
if err := c.Namespaces().Delete(ns); err != nil {
|
||||||
glog.Warningf("Failed to delete namespace ns: %e", ns, err)
|
glog.Warningf("Failed to delete namespace ns: %e", ns, err)
|
||||||
|
} else {
|
||||||
|
// wait until the namespace disappears
|
||||||
|
for i := 0; i < int(namespaceDeleteTimeout/time.Second); i++ {
|
||||||
|
if _, err := c.Namespaces().Get(ns); err != nil {
|
||||||
|
if errors.IsNotFound(err) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
time.Sleep(time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}(ns)
|
}(ns)
|
||||||
glog.Infof("Created namespace %s", ns)
|
glog.Infof("Created namespace %s", ns)
|
||||||
|
@ -31,6 +31,7 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/errors"
|
||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -53,6 +54,7 @@ const (
|
|||||||
podCreateTimeout = 2 * time.Minute
|
podCreateTimeout = 2 * time.Minute
|
||||||
podStartTimeout = 30 * time.Minute
|
podStartTimeout = 30 * time.Minute
|
||||||
serviceCreateTimeout = 2 * time.Minute
|
serviceCreateTimeout = 2 * time.Minute
|
||||||
|
namespaceDeleteTimeout = 5 * time.Minute
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -116,6 +118,16 @@ func main() {
|
|||||||
defer func(ns string) {
|
defer func(ns string) {
|
||||||
if err := c.Namespaces().Delete(ns); err != nil {
|
if err := c.Namespaces().Delete(ns); err != nil {
|
||||||
glog.Warningf("Failed to delete namespace ns: %e", ns, err)
|
glog.Warningf("Failed to delete namespace ns: %e", ns, err)
|
||||||
|
} else {
|
||||||
|
// wait until the namespace disappears
|
||||||
|
for i := 0; i < int(namespaceDeleteTimeout/time.Second); i++ {
|
||||||
|
if _, err := c.Namespaces().Get(ns); err != nil {
|
||||||
|
if errors.IsNotFound(err) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
time.Sleep(time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}(ns)
|
}(ns)
|
||||||
glog.Infof("Created namespace %s", ns)
|
glog.Infof("Created namespace %s", ns)
|
||||||
|
Loading…
Reference in New Issue
Block a user