Wait for pods to become available before rolling over in deployment e2e test
This commit is contained in:
		@@ -454,12 +454,14 @@ func testRolloverDeployment(f *Framework) {
 | 
			
		||||
		Logf("error in waiting for pods to come up: %s", err)
 | 
			
		||||
		Expect(err).NotTo(HaveOccurred())
 | 
			
		||||
	}
 | 
			
		||||
	deploymentMinReadySeconds := 5
 | 
			
		||||
	err = waitForPodsReady(c, ns, podName, deploymentMinReadySeconds)
 | 
			
		||||
	Expect(err).NotTo(HaveOccurred())
 | 
			
		||||
 | 
			
		||||
	// Create a deployment to delete nginx pods and instead bring up redis-slave pods.
 | 
			
		||||
	deploymentName, deploymentImageName := "redis-deployment", "redis-slave"
 | 
			
		||||
	deploymentReplicas := 4
 | 
			
		||||
	deploymentImage := "gcr.io/google_samples/gb-redisslave:v1"
 | 
			
		||||
	deploymentMinReadySeconds := 5
 | 
			
		||||
	deploymentStrategyType := extensions.RollingUpdateDeploymentStrategyType
 | 
			
		||||
	Logf("Creating deployment %s", deploymentName)
 | 
			
		||||
	newDeployment := newDeployment(deploymentName, deploymentReplicas, deploymentPodLabels, deploymentImageName, deploymentImage, deploymentStrategyType, nil)
 | 
			
		||||
 
 | 
			
		||||
@@ -2144,6 +2144,23 @@ func waitForDeploymentStatus(c clientset.Interface, ns, deploymentName string, d
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func waitForPodsReady(c *clientset.Clientset, ns, name string, minReadySeconds int) error {
 | 
			
		||||
	label := labels.SelectorFromSet(labels.Set(map[string]string{"name": name}))
 | 
			
		||||
	options := api.ListOptions{LabelSelector: label}
 | 
			
		||||
	return wait.Poll(poll, 5*time.Minute, func() (bool, error) {
 | 
			
		||||
		pods, err := c.Pods(ns).List(options)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return false, nil
 | 
			
		||||
		}
 | 
			
		||||
		for _, pod := range pods.Items {
 | 
			
		||||
			if !deploymentutil.IsPodAvailable(&pod, minReadySeconds) {
 | 
			
		||||
				return false, nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return true, nil
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Waits for the deployment to clean up old rcs.
 | 
			
		||||
func waitForDeploymentOldRSsNum(c *clientset.Clientset, ns, deploymentName string, desiredRSNum int) error {
 | 
			
		||||
	return wait.Poll(poll, 5*time.Minute, func() (bool, error) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user