Unify test timeouts under a common name.

pull/6/head
Christian Bell 2017-03-20 14:35:37 -07:00
parent 948e3754f8
commit 273eb6b9b5
4 changed files with 19 additions and 27 deletions

View File

@ -185,7 +185,7 @@ func waitForDeploymentOrFail(c *fedclientset.Clientset, namespace string, deploy
}
func waitForDeployment(c *fedclientset.Clientset, namespace string, deploymentName string, clusters map[string]*cluster) error {
err := wait.Poll(10*time.Second, federatedDeploymentTimeout, func() (bool, error) {
err := wait.Poll(10*time.Second, federatedDefaultTestTimeout, func() (bool, error) {
fdep, err := c.Deployments(namespace).Get(deploymentName, metav1.GetOptions{})
if err != nil {
return false, err
@ -259,7 +259,7 @@ func deleteDeploymentOrFail(clientset *fedclientset.Clientset, nsName string, de
}
// Wait for the deployment to be deleted.
err = wait.Poll(10*time.Second, federatedDeploymentTimeout, func() (bool, error) {
err = wait.Poll(10*time.Second, federatedDefaultTestTimeout, func() (bool, error) {
_, err := clientset.Extensions().Deployments(nsName).Get(deploymentName, metav1.GetOptions{})
if err != nil && errors.IsNotFound(err) {
return true, nil

View File

@ -171,8 +171,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
AfterEach(func() {
// Delete all ingresses.
nsName := f.FederationNamespace.Name
deleteAllIngressesOrFail(f.FederationClientset, nsName)
deleteAllIngressesOrFail(f.FederationClientset, ns)
if secret != nil {
By("Deleting secret")
orphanDependents := false
@ -202,24 +201,21 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
It("should be deleted from underlying clusters when OrphanDependents is false", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
orphanDependents := false
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, &orphanDependents, nsName)
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, &orphanDependents, ns)
By(fmt.Sprintf("Verified that ingresses were deleted from underlying clusters"))
})
It("should not be deleted from underlying clusters when OrphanDependents is true", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
orphanDependents := true
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, &orphanDependents, nsName)
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, &orphanDependents, ns)
By(fmt.Sprintf("Verified that ingresses were not deleted from underlying clusters"))
})
It("should not be deleted from underlying clusters when OrphanDependents is nil", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, nil, nsName)
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, nil, ns)
By(fmt.Sprintf("Verified that ingresses were not deleted from underlying clusters"))
})
@ -240,10 +236,8 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
deleteBackendPodsOrFail(clusters, ns)
if jig.ing != nil {
By(fmt.Sprintf("Deleting ingress %v on all clusters", jig.ing.Name))
deleteIngressOrFail(f.FederationClientset, ns, jig.ing.Name, nil)
for clusterName, cluster := range clusters {
deleteClusterIngressOrFail(clusterName, cluster.Clientset, ns, jig.ing.Name)
}
orphanDependents := false
deleteIngressOrFail(f.FederationClientset, ns, jig.ing.Name, &orphanDependents)
jig.ing = nil
} else {
By("No ingress to delete. Ingress is nil")

View File

@ -388,7 +388,7 @@ func waitForReplicaSetOrFail(c *fedclientset.Clientset, namespace string, replic
func waitForReplicaSet(c *fedclientset.Clientset, namespace string, replicaSetName string, clusters map[string]*cluster, expect map[string]int32) error {
framework.Logf("waitForReplicaSet: %s/%s; clusters: %v; expect: %v", namespace, replicaSetName, clusters, expect)
err := wait.Poll(10*time.Second, federatedReplicasetTimeout, func() (bool, error) {
err := wait.Poll(10*time.Second, federatedDefaultTestTimeout, func() (bool, error) {
frs, err := c.ReplicaSets(namespace).Get(replicaSetName, metav1.GetOptions{})
if err != nil {
return false, err

View File

@ -51,10 +51,7 @@ var (
)
const (
federatedNamespaceTimeout = 5 * time.Minute
federatedReplicasetTimeout = 5 * time.Minute
federatedServiceTimeout = 5 * time.Minute
federatedDeploymentTimeout = 5 * time.Minute
federatedDefaultTestTimeout = 5 * time.Minute
federatedClustersWaitTimeout = 1 * time.Minute
// [30000, 32767] is the allowed default service nodeport range and our
@ -234,7 +231,7 @@ func getRegisteredClusters(userAgentName string, f *fedframework.Framework) (map
Expect(framework.TestContext.KubeConfig).ToNot(Equal(""), "KubeConfig must be specified to load clusters' client config")
clusters[c.Name] = &cluster{c.Name, createClientsetForCluster(c, i, userAgentName), false, nil}
}
waitForNamespaceInFederatedClusters(clusters, f.FederationNamespace.Name, federatedNamespaceTimeout)
waitForNamespaceInFederatedClusters(clusters, f.FederationNamespace.Name, federatedDefaultTestTimeout)
return clusters, primaryClusterName
}
@ -265,7 +262,7 @@ func waitForServiceOrFail(clientset *kubeclientset.Clientset, namespace string,
func waitForServiceShardsOrFail(namespace string, service *v1.Service, clusters map[string]*cluster) {
framework.Logf("Waiting for service %q in %d clusters", service.Name, len(clusters))
for _, c := range clusters {
waitForServiceOrFail(c.Clientset, namespace, service, true, federatedServiceTimeout)
waitForServiceOrFail(c.Clientset, namespace, service, true, federatedDefaultTestTimeout)
}
}
@ -320,7 +317,7 @@ func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, se
err := clientset.Services(namespace).Delete(serviceName, &metav1.DeleteOptions{OrphanDependents: orphanDependents})
framework.ExpectNoError(err, "Error deleting service %q from namespace %q", serviceName, namespace)
// Wait for the service to be deleted.
err = wait.Poll(5*time.Second, federatedServiceTimeout, func() (bool, error) {
err = wait.Poll(5*time.Second, federatedDefaultTestTimeout, func() (bool, error) {
_, err := clientset.Core().Services(namespace).Get(serviceName, metav1.GetOptions{})
if err != nil && errors.IsNotFound(err) {
return true, nil
@ -328,6 +325,7 @@ func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, se
return false, err
})
if err != nil {
framework.DescribeSvc(namespace)
framework.Failf("Error in deleting service %s: %v", serviceName, err)
}
}
@ -337,7 +335,7 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
for name, c := range clusters {
var cSvc *v1.Service
err := wait.PollImmediate(framework.Poll, federatedServiceTimeout, func() (bool, error) {
err := wait.PollImmediate(framework.Poll, federatedDefaultTestTimeout, func() (bool, error) {
var err error
cSvc, err = c.Clientset.Services(namespace).Get(service.Name, metav1.GetOptions{})
if err != nil && !errors.IsNotFound(err) {
@ -354,15 +352,15 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
})
if err != nil || cSvc == nil {
By(fmt.Sprintf("Failed to find service %q in namespace %q, in cluster %q in %s", service.Name, namespace, name, federatedServiceTimeout))
By(fmt.Sprintf("Failed to find service %q in namespace %q, in cluster %q in %s", service.Name, namespace, name, federatedDefaultTestTimeout))
continue
}
err = cleanupServiceShard(c.Clientset, name, namespace, cSvc, federatedServiceTimeout)
err = cleanupServiceShard(c.Clientset, name, namespace, cSvc, federatedDefaultTestTimeout)
if err != nil {
framework.Logf("Failed to delete service %q in namespace %q, in cluster %q: %v", service.Name, namespace, name, err)
}
err = cleanupServiceShardLoadBalancer(name, cSvc, federatedServiceTimeout)
err = cleanupServiceShardLoadBalancer(name, cSvc, federatedDefaultTestTimeout)
if err != nil {
framework.Logf("Failed to delete cloud provider resources for service %q in namespace %q, in cluster %q", service.Name, namespace, name)
}
@ -554,7 +552,7 @@ func deleteBackendPodsOrFail(clusters map[string]*cluster, namespace string) {
// waitForReplicatSetToBeDeletedOrFail waits for the named ReplicaSet in namespace to be deleted.
// If the deletion fails, the enclosing test fails.
func waitForReplicaSetToBeDeletedOrFail(clientset *fedclientset.Clientset, namespace string, replicaSet string) {
err := wait.Poll(5*time.Second, federatedReplicasetTimeout, func() (bool, error) {
err := wait.Poll(5*time.Second, federatedDefaultTestTimeout, func() (bool, error) {
_, err := clientset.Extensions().ReplicaSets(namespace).Get(replicaSet, metav1.GetOptions{})
if err != nil && errors.IsNotFound(err) {
return true, nil