mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Unify test timeouts under a common name.
This commit is contained in:
parent
948e3754f8
commit
273eb6b9b5
@ -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 {
|
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{})
|
fdep, err := c.Deployments(namespace).Get(deploymentName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
@ -259,7 +259,7 @@ func deleteDeploymentOrFail(clientset *fedclientset.Clientset, nsName string, de
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Wait for the deployment to be deleted.
|
// 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{})
|
_, err := clientset.Extensions().Deployments(nsName).Get(deploymentName, metav1.GetOptions{})
|
||||||
if err != nil && errors.IsNotFound(err) {
|
if err != nil && errors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
|
@ -171,8 +171,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
|
|||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
// Delete all ingresses.
|
// Delete all ingresses.
|
||||||
nsName := f.FederationNamespace.Name
|
deleteAllIngressesOrFail(f.FederationClientset, ns)
|
||||||
deleteAllIngressesOrFail(f.FederationClientset, nsName)
|
|
||||||
if secret != nil {
|
if secret != nil {
|
||||||
By("Deleting secret")
|
By("Deleting secret")
|
||||||
orphanDependents := false
|
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() {
|
It("should be deleted from underlying clusters when OrphanDependents is false", func() {
|
||||||
fedframework.SkipUnlessFederated(f.ClientSet)
|
fedframework.SkipUnlessFederated(f.ClientSet)
|
||||||
nsName := f.FederationNamespace.Name
|
|
||||||
orphanDependents := false
|
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"))
|
By(fmt.Sprintf("Verified that ingresses were deleted from underlying clusters"))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should not be deleted from underlying clusters when OrphanDependents is true", func() {
|
It("should not be deleted from underlying clusters when OrphanDependents is true", func() {
|
||||||
fedframework.SkipUnlessFederated(f.ClientSet)
|
fedframework.SkipUnlessFederated(f.ClientSet)
|
||||||
nsName := f.FederationNamespace.Name
|
|
||||||
orphanDependents := true
|
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"))
|
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() {
|
It("should not be deleted from underlying clusters when OrphanDependents is nil", func() {
|
||||||
fedframework.SkipUnlessFederated(f.ClientSet)
|
fedframework.SkipUnlessFederated(f.ClientSet)
|
||||||
nsName := f.FederationNamespace.Name
|
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, nil, ns)
|
||||||
verifyCascadingDeletionForIngress(f.FederationClientset, clusters, nil, nsName)
|
|
||||||
By(fmt.Sprintf("Verified that ingresses were not deleted from underlying clusters"))
|
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)
|
deleteBackendPodsOrFail(clusters, ns)
|
||||||
if jig.ing != nil {
|
if jig.ing != nil {
|
||||||
By(fmt.Sprintf("Deleting ingress %v on all clusters", jig.ing.Name))
|
By(fmt.Sprintf("Deleting ingress %v on all clusters", jig.ing.Name))
|
||||||
deleteIngressOrFail(f.FederationClientset, ns, jig.ing.Name, nil)
|
orphanDependents := false
|
||||||
for clusterName, cluster := range clusters {
|
deleteIngressOrFail(f.FederationClientset, ns, jig.ing.Name, &orphanDependents)
|
||||||
deleteClusterIngressOrFail(clusterName, cluster.Clientset, ns, jig.ing.Name)
|
|
||||||
}
|
|
||||||
jig.ing = nil
|
jig.ing = nil
|
||||||
} else {
|
} else {
|
||||||
By("No ingress to delete. Ingress is nil")
|
By("No ingress to delete. Ingress is nil")
|
||||||
|
@ -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 {
|
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)
|
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{})
|
frs, err := c.ReplicaSets(namespace).Get(replicaSetName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -51,10 +51,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
federatedNamespaceTimeout = 5 * time.Minute
|
federatedDefaultTestTimeout = 5 * time.Minute
|
||||||
federatedReplicasetTimeout = 5 * time.Minute
|
|
||||||
federatedServiceTimeout = 5 * time.Minute
|
|
||||||
federatedDeploymentTimeout = 5 * time.Minute
|
|
||||||
federatedClustersWaitTimeout = 1 * time.Minute
|
federatedClustersWaitTimeout = 1 * time.Minute
|
||||||
|
|
||||||
// [30000, 32767] is the allowed default service nodeport range and our
|
// [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")
|
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}
|
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
|
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) {
|
func waitForServiceShardsOrFail(namespace string, service *v1.Service, clusters map[string]*cluster) {
|
||||||
framework.Logf("Waiting for service %q in %d clusters", service.Name, len(clusters))
|
framework.Logf("Waiting for service %q in %d clusters", service.Name, len(clusters))
|
||||||
for _, c := range 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})
|
err := clientset.Services(namespace).Delete(serviceName, &metav1.DeleteOptions{OrphanDependents: orphanDependents})
|
||||||
framework.ExpectNoError(err, "Error deleting service %q from namespace %q", serviceName, namespace)
|
framework.ExpectNoError(err, "Error deleting service %q from namespace %q", serviceName, namespace)
|
||||||
// Wait for the service to be deleted.
|
// 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{})
|
_, err := clientset.Core().Services(namespace).Get(serviceName, metav1.GetOptions{})
|
||||||
if err != nil && errors.IsNotFound(err) {
|
if err != nil && errors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
@ -328,6 +325,7 @@ func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, se
|
|||||||
return false, err
|
return false, err
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
framework.DescribeSvc(namespace)
|
||||||
framework.Failf("Error in deleting service %s: %v", serviceName, err)
|
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 {
|
for name, c := range clusters {
|
||||||
var cSvc *v1.Service
|
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
|
var err error
|
||||||
cSvc, err = c.Clientset.Services(namespace).Get(service.Name, metav1.GetOptions{})
|
cSvc, err = c.Clientset.Services(namespace).Get(service.Name, metav1.GetOptions{})
|
||||||
if err != nil && !errors.IsNotFound(err) {
|
if err != nil && !errors.IsNotFound(err) {
|
||||||
@ -354,15 +352,15 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
|
|||||||
})
|
})
|
||||||
|
|
||||||
if err != nil || cSvc == nil {
|
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
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
err = cleanupServiceShard(c.Clientset, name, namespace, cSvc, federatedServiceTimeout)
|
err = cleanupServiceShard(c.Clientset, name, namespace, cSvc, federatedDefaultTestTimeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Logf("Failed to delete service %q in namespace %q, in cluster %q: %v", service.Name, namespace, name, err)
|
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 {
|
if err != nil {
|
||||||
framework.Logf("Failed to delete cloud provider resources for service %q in namespace %q, in cluster %q", service.Name, namespace, name)
|
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.
|
// waitForReplicatSetToBeDeletedOrFail waits for the named ReplicaSet in namespace to be deleted.
|
||||||
// If the deletion fails, the enclosing test fails.
|
// If the deletion fails, the enclosing test fails.
|
||||||
func waitForReplicaSetToBeDeletedOrFail(clientset *fedclientset.Clientset, namespace string, replicaSet string) {
|
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{})
|
_, err := clientset.Extensions().ReplicaSets(namespace).Get(replicaSet, metav1.GetOptions{})
|
||||||
if err != nil && errors.IsNotFound(err) {
|
if err != nil && errors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
|
Loading…
Reference in New Issue
Block a user