Skip to content

Commit 2809157

Browse files
author
Stanislav Koshchienko
committed
Adds a waiter for the pods to switch to the ACTIVE state
1 parent dc6cf79 commit 2809157

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

‎test/e2e/application_image_test.go‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package e2e
1818

1919
import (
2020
"context"
21+
"fmt"
2122
"time"
2223

2324
. "github.com/onsi/ginkgo/v2"
@@ -77,9 +78,27 @@ var _ = Describe("WebServerControllerTest", Ordered, func() {
7778
It("Update Test", func() {
7879
var createdWebserver *webserversv1alpha1.WebServer
7980

80-
// Update WebImage and update WebServer
81+
// Wait for all pods to go into "ACTIVE" State
8182
Eventually(func() bool {
8283
createdWebserver = getWebServer(name)
84+
85+
if len(createdWebserver.Status.Pods) != int(createdWebserver.Spec.Replicas) {
86+
return false
87+
}
88+
89+
for _, pod := range createdWebserver.Status.Pods {
90+
if pod.State != webserversv1alpha1.PodStateActive {
91+
fmt.Printf("Pod %s is in state %s\n", pod.Name, pod.State)
92+
return false
93+
}
94+
}
95+
96+
return true
97+
98+
}, time.Minute*3, time.Second*2).Should(BeTrue(), "Not all pods got to ACTIVE state")
99+
100+
// Update WebImage and update WebServer
101+
Eventually(func() bool {
83102
createdWebserver.Spec.WebImage.ApplicationImage = newImage
84103

85104
err := k8sClient.Update(ctx, createdWebserver)

0 commit comments

Comments
 (0)