Update the namespace test to verify that namespace was deleted as expected

This commit is contained in:
nikhiljindal 2016-09-01 18:13:04 -07:00
parent 274487da87
commit a51d79110c

View File

@ -54,16 +54,13 @@ var _ = framework.KubeDescribe("Federation namespace [Feature:Federation]", func
AfterEach(func() { AfterEach(func() {
framework.SkipUnlessFederated(f.Client) framework.SkipUnlessFederated(f.Client)
// TODO: set wait to true once NS controller is fixed.
deleteAllTestNamespaces( deleteAllTestNamespaces(
f.FederationClientset_1_4.Core().Namespaces().List, f.FederationClientset_1_4.Core().Namespaces().List,
f.FederationClientset_1_4.Core().Namespaces().Delete, f.FederationClientset_1_4.Core().Namespaces().Delete)
false)
for _, clientset := range clusterClientSet { for _, clientset := range clusterClientSet {
deleteAllTestNamespaces( deleteAllTestNamespaces(
clientset.Core().Namespaces().List, clientset.Core().Namespaces().List,
clientset.Core().Namespaces().Delete, clientset.Core().Namespaces().Delete)
false)
} }
}) })
@ -79,7 +76,7 @@ var _ = framework.KubeDescribe("Federation namespace [Feature:Federation]", func
_, err := f.FederationClientset_1_4.Core().Namespaces().Create(&ns) _, err := f.FederationClientset_1_4.Core().Namespaces().Create(&ns)
framework.ExpectNoError(err, "Failed to create namespace %s", ns.Name) framework.ExpectNoError(err, "Failed to create namespace %s", ns.Name)
// Check subclusters if the namespace was create there. // Check subclusters if the namespace was created there.
err = wait.Poll(5*time.Second, 2*time.Minute, func() (bool, error) { err = wait.Poll(5*time.Second, 2*time.Minute, func() (bool, error) {
for _, client := range clusterClientSet { for _, client := range clusterClientSet {
_, err := client.Core().Namespaces().Get(ns.Name) _, err := client.Core().Namespaces().Get(ns.Name)
@ -94,32 +91,28 @@ var _ = framework.KubeDescribe("Federation namespace [Feature:Federation]", func
}) })
framework.ExpectNoError(err, "Not all namespaces created") framework.ExpectNoError(err, "Not all namespaces created")
// TODO: set wait to true once NS controller is fixed.
deleteAllTestNamespaces( deleteAllTestNamespaces(
f.FederationClientset_1_4.Core().Namespaces().List, f.FederationClientset_1_4.Core().Namespaces().List,
f.FederationClientset_1_4.Core().Namespaces().Delete, f.FederationClientset_1_4.Core().Namespaces().Delete)
false)
}) })
}) })
}) })
func deleteAllTestNamespaces(lister func(api.ListOptions) (*api_v1.NamespaceList, error), deleter func(string, *api.DeleteOptions) error, waitForDeletion bool) { func deleteAllTestNamespaces(lister func(api.ListOptions) (*api_v1.NamespaceList, error), deleter func(string, *api.DeleteOptions) error) {
list, err := lister(api.ListOptions{}) list, err := lister(api.ListOptions{})
if err != nil { if err != nil {
framework.Failf("Failed to get all namespaes: %v", err) framework.Failf("Failed to get all namespaes: %v", err)
return return
} }
for _, namespace := range list.Items { for _, namespace := range list.Items {
if strings.HasPrefix(namespace.Name, namespacePrefix) && namespace.DeletionTimestamp != nil { if strings.HasPrefix(namespace.Name, namespacePrefix) {
err := deleter(namespace.Name, &api.DeleteOptions{}) err := deleter(namespace.Name, &api.DeleteOptions{})
if err != nil { if err != nil {
framework.Failf("Failed to set %s for deletion: %v", namespace.Name, err) framework.Failf("Failed to set %s for deletion: %v", namespace.Name, err)
} }
} }
} }
if waitForDeletion { waitForNoTestNamespaces(lister)
waitForNoTestNamespaces(lister)
}
} }
func waitForNoTestNamespaces(lister func(api.ListOptions) (*api_v1.NamespaceList, error)) { func waitForNoTestNamespaces(lister func(api.ListOptions) (*api_v1.NamespaceList, error)) {