You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/05/08 12:39:55 UTC

[camel-k] 05/07: fix(e2e): Improve max build limit E2E test

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch release-1.12.x
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 454581711cd2412e36e52a10e49e31cc2ed71feb
Author: Christoph Deppisch <cd...@redhat.com>
AuthorDate: Wed May 3 12:05:48 2023 +0200

    fix(e2e): Improve max build limit E2E test
    
    - Wait for IntegrationPlatforms in user namespaces to become ready before starting new builds
    - Avoids racing conditions on build and integration platform reconciliation loops
    - Avoids 1st build to succeed before 3rd build has been scheduled (skips the max build limit)
---
 e2e/global/builder/build_test.go | 42 ++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/e2e/global/builder/build_test.go b/e2e/global/builder/build_test.go
index b533a478a..f0088f545 100644
--- a/e2e/global/builder/build_test.go
+++ b/e2e/global/builder/build_test.go
@@ -57,16 +57,6 @@ func TestKitMaxBuildLimit(t *testing.T) {
 		buildB := "integration-b"
 		buildC := "integration-c"
 
-		doKitBuildInNamespace(buildA, ns, TestTimeoutShort, kitOptions{
-			operatorID: fmt.Sprintf("camel-k-%s", ns),
-			dependencies: []string{
-				"camel:timer", "camel:log",
-			},
-			traits: []string{
-				"builder.properties=build-property=A",
-			},
-		}, v1.BuildPhaseRunning, v1.IntegrationKitPhaseBuildRunning)
-
 		ns1 := NewTestNamespace(false).GetName()
 		defer DumpNamespace(t, ns1)
 		defer DeleteNamespace(t, ns1)
@@ -80,15 +70,7 @@ func TestKitMaxBuildLimit(t *testing.T) {
 			t.FailNow()
 		}
 
-		doKitBuildInNamespace(buildB, ns1, TestTimeoutShort, kitOptions{
-			operatorID: fmt.Sprintf("camel-k-%s", ns),
-			dependencies: []string{
-				"camel:timer", "camel:log",
-			},
-			traits: []string{
-				"builder.properties=build-property=B",
-			},
-		}, v1.BuildPhaseRunning, v1.IntegrationKitPhaseBuildRunning)
+		Eventually(PlatformPhase(ns1), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
 
 		ns2 := NewTestNamespace(false).GetName()
 		defer DumpNamespace(t, ns2)
@@ -103,6 +85,28 @@ func TestKitMaxBuildLimit(t *testing.T) {
 			t.FailNow()
 		}
 
+		Eventually(PlatformPhase(ns2), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
+
+		doKitBuildInNamespace(buildA, ns, TestTimeoutShort, kitOptions{
+			operatorID: fmt.Sprintf("camel-k-%s", ns),
+			dependencies: []string{
+				"camel:timer", "camel:log",
+			},
+			traits: []string{
+				"builder.properties=build-property=A",
+			},
+		}, v1.BuildPhaseRunning, v1.IntegrationKitPhaseBuildRunning)
+
+		doKitBuildInNamespace(buildB, ns1, TestTimeoutShort, kitOptions{
+			operatorID: fmt.Sprintf("camel-k-%s", ns),
+			dependencies: []string{
+				"camel:timer", "camel:log",
+			},
+			traits: []string{
+				"builder.properties=build-property=B",
+			},
+		}, v1.BuildPhaseRunning, v1.IntegrationKitPhaseBuildRunning)
+
 		doKitBuildInNamespace(buildC, ns2, TestTimeoutShort, kitOptions{
 			operatorID: fmt.Sprintf("camel-k-%s", ns),
 			dependencies: []string{