Merge pull request #15572 from nikhiljindal/deploymentFlake
Deployment e2e flake: Wait for events to be generated before verifying them
This commit is contained in:
		@@ -255,6 +255,7 @@ func testRollingUpdateDeploymentEvents(f *Framework) {
 | 
				
			|||||||
	// Verify that the pods were scaled up and down as expected. We use events to verify that.
 | 
						// Verify that the pods were scaled up and down as expected. We use events to verify that.
 | 
				
			||||||
	deployment, err := c.Deployments(ns).Get(deploymentName)
 | 
						deployment, err := c.Deployments(ns).Get(deploymentName)
 | 
				
			||||||
	Expect(err).NotTo(HaveOccurred())
 | 
						Expect(err).NotTo(HaveOccurred())
 | 
				
			||||||
 | 
						waitForEvents(c, ns, deployment, 2)
 | 
				
			||||||
	events, err := c.Events(ns).Search(deployment)
 | 
						events, err := c.Events(ns).Search(deployment)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		Logf("error in listing events: %s", err)
 | 
							Logf("error in listing events: %s", err)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1652,6 +1652,25 @@ func waitForDeploymentStatus(c *client.Client, ns, deploymentName string, desire
 | 
				
			|||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Waits for the number of events on the given object to reach a desired count.
 | 
				
			||||||
 | 
					func waitForEvents(c *client.Client, ns string, objOrRef runtime.Object, desiredEventsCount int) error {
 | 
				
			||||||
 | 
						return wait.Poll(poll, 5*time.Minute, func() (bool, error) {
 | 
				
			||||||
 | 
							events, err := c.Events(ns).Search(objOrRef)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return false, fmt.Errorf("error in listing events: %s", err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							eventsCount := len(events.Items)
 | 
				
			||||||
 | 
							if eventsCount == desiredEventsCount {
 | 
				
			||||||
 | 
								return true, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if eventsCount < desiredEventsCount {
 | 
				
			||||||
 | 
								return false, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// Number of events has exceeded the desired count.
 | 
				
			||||||
 | 
							return false, fmt.Errorf("number of events has exceeded the desired count, eventsCount: %d, desiredCount: %d", eventsCount, desiredEventsCount)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Convenient wrapper around listing nodes supporting retries.
 | 
					// Convenient wrapper around listing nodes supporting retries.
 | 
				
			||||||
func listNodes(c *client.Client, label labels.Selector, field fields.Selector) (*api.NodeList, error) {
 | 
					func listNodes(c *client.Client, label labels.Selector, field fields.Selector) (*api.NodeList, error) {
 | 
				
			||||||
	var nodes *api.NodeList
 | 
						var nodes *api.NodeList
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user