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)
 | 
							Logf("error in waiting for pods to come up: %s", err)
 | 
				
			||||||
		Expect(err).NotTo(HaveOccurred())
 | 
							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.
 | 
						// Create a deployment to delete nginx pods and instead bring up redis-slave pods.
 | 
				
			||||||
	deploymentName, deploymentImageName := "redis-deployment", "redis-slave"
 | 
						deploymentName, deploymentImageName := "redis-deployment", "redis-slave"
 | 
				
			||||||
	deploymentReplicas := 4
 | 
						deploymentReplicas := 4
 | 
				
			||||||
	deploymentImage := "gcr.io/google_samples/gb-redisslave:v1"
 | 
						deploymentImage := "gcr.io/google_samples/gb-redisslave:v1"
 | 
				
			||||||
	deploymentMinReadySeconds := 5
 | 
					 | 
				
			||||||
	deploymentStrategyType := extensions.RollingUpdateDeploymentStrategyType
 | 
						deploymentStrategyType := extensions.RollingUpdateDeploymentStrategyType
 | 
				
			||||||
	Logf("Creating deployment %s", deploymentName)
 | 
						Logf("Creating deployment %s", deploymentName)
 | 
				
			||||||
	newDeployment := newDeployment(deploymentName, deploymentReplicas, deploymentPodLabels, deploymentImageName, deploymentImage, deploymentStrategyType, nil)
 | 
						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.
 | 
					// Waits for the deployment to clean up old rcs.
 | 
				
			||||||
func waitForDeploymentOldRSsNum(c *clientset.Clientset, ns, deploymentName string, desiredRSNum int) error {
 | 
					func waitForDeploymentOldRSsNum(c *clientset.Clientset, ns, deploymentName string, desiredRSNum int) error {
 | 
				
			||||||
	return wait.Poll(poll, 5*time.Minute, func() (bool, error) {
 | 
						return wait.Poll(poll, 5*time.Minute, func() (bool, error) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user