make the gc e2e test more strict

pull/6/head
Chao Xu 2016-08-25 17:33:02 -07:00
parent d836b248b2
commit 10fa1ab245
1 changed files with 16 additions and 1 deletions

View File

@ -174,12 +174,14 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
podClient := clientSet.Core().Pods(f.Namespace.Name)
rcName := "simpletest.rc"
rc := newOwnerRC(f, rcName)
replicas := int32(100)
rc.Spec.Replicas = &replicas
By("create the rc")
rc, err := rcClient.Create(rc)
if err != nil {
framework.Failf("Failed to create replication controller: %v", err)
}
// wait for rc to create some pods
// wait for rc to create pods
if err := wait.Poll(5*time.Second, 30*time.Second, func() (bool, error) {
rc, err := rcClient.Get(rc.Name)
if err != nil {
@ -199,6 +201,19 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
if err := rcClient.Delete(rc.ObjectMeta.Name, deleteOptions); err != nil {
framework.Failf("failed to delete the rc: %v", err)
}
By("wait for the rc to be deleted")
if err := wait.Poll(5*time.Second, 30*time.Second, func() (bool, error) {
rcs, err := rcClient.List(api.ListOptions{})
if err != nil {
return false, fmt.Errorf("Failed to list rcs: %v", err)
}
if len(rcs.Items) != 0 {
return false, nil
}
return true, nil
}); err != nil && err != wait.ErrWaitTimeout {
framework.Failf("%v", err)
}
By("wait for 30 seconds to see if the garbage collector mistakenly deletes the pods")
if err := wait.Poll(5*time.Second, 30*time.Second, func() (bool, error) {
pods, err := podClient.List(api.ListOptions{})