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

pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-management.git


The following commit(s) were added to refs/heads/main by this push:
     new bbef61b8 try to fix integration tests for app version revision (#808)
bbef61b8 is described below

commit bbef61b81251b2ffa8bc9268ca18ab24528701f0
Author: PJ Fanning <[email protected]>
AuthorDate: Sun May 31 14:37:08 2026 +0100

    try to fix integration tests for app version revision (#808)
    
    * Add --add-opens JVM flag to fix liveness probe failures in 
app-version-revision test
    
    * Update integration-tests-app-version-revision.yml
    
    * Fix race condition in app-version-revision test script
    
    Use kubectl rollout status to wait for the deployment rollout to fully
    complete before checking pod logs. Without this, the wait loop could
    break prematurely during rolling updates (when all currently-visible
    pods happen to be Ready but new pods haven't been created yet),
    causing log checks to fail on ContainerCreating pods.
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] 
<[email protected]>
---
 .github/workflows/integration-tests-app-version-revision.yml     | 1 +
 .../kubernetes/pekko-cluster-app-value-revision.yml              | 3 ++-
 integration-test/scripts/app-version-revision-kubernetes-test.sh | 9 ++++++---
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/integration-tests-app-version-revision.yml 
b/.github/workflows/integration-tests-app-version-revision.yml
index 869c69f6..65567cb0 100644
--- a/.github/workflows/integration-tests-app-version-revision.yml
+++ b/.github/workflows/integration-tests-app-version-revision.yml
@@ -12,6 +12,7 @@ on:
   push:
     branches:
       - main
+  pull_request:
   workflow_dispatch:
 
 permissions:
diff --git 
a/integration-test/rolling-update-kubernetes/kubernetes/pekko-cluster-app-value-revision.yml
 
b/integration-test/rolling-update-kubernetes/kubernetes/pekko-cluster-app-value-revision.yml
index 59efaaac..fe7e62db 100644
--- 
a/integration-test/rolling-update-kubernetes/kubernetes/pekko-cluster-app-value-revision.yml
+++ 
b/integration-test/rolling-update-kubernetes/kubernetes/pekko-cluster-app-value-revision.yml
@@ -57,8 +57,9 @@ spec:
               fieldPath: metadata.name
         - name: REQUIRED_CONTACT_POINT_NR
           value: "3"
+        # Agrona requires the --add-opens JVM option to work on recent JDKs
         - name: JAVA_TOOL_OPTIONS
-          value: "-XX:InitialRAMPercentage=75 -XX:MaxRAMPercentage=75"
+          value: "-XX:InitialRAMPercentage=75 -XX:MaxRAMPercentage=75 
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED"
 ---
 kind: Role
 apiVersion: rbac.authorization.k8s.io/v1
diff --git a/integration-test/scripts/app-version-revision-kubernetes-test.sh 
b/integration-test/scripts/app-version-revision-kubernetes-test.sh
index acbcd40a..57863dc1 100755
--- a/integration-test/scripts/app-version-revision-kubernetes-test.sh
+++ b/integration-test/scripts/app-version-revision-kubernetes-test.sh
@@ -19,14 +19,17 @@ sbt $PROJECT_NAME/Docker/publishLocal
 # Param $1 is the expected revision
 testRevisionInPodsLog () {
   echo "Testing for revision $1:"
+
+  # Wait for the rollout to fully complete before checking logs
+  kubectl rollout status deployment/$APP_NAME -n $NAMESPACE --timeout=120s
+
   for i in {1..20}
   do
     sleep 5
-    echo "Waiting for rolling update to complete ...  (revision $1, $i/20)"
+    echo "Waiting for all pods to be ready ...  (revision $1, $i/20)"
     kubectl get pods -n $NAMESPACE
 
-    # the two lines below ensure a rollout is fully completed, before we look 
at the logs for updated revision
-    # if not filtering out Terminated or pods that are not not ready (0/1) we 
will see previous revisions in the logs
+    # ensure all pods are ready and none are terminating or creating
     [ `kubectl get pods -n $NAMESPACE | grep Terminating | wc -l` -ne 0 ] && 
continue   # loop again until no Terminating nodes in the list
     [ `kubectl get pods -n $NAMESPACE | grep 0/1 | wc -l` -eq 0 ] && break     
         # exit the loop once we only have READY (1/1) pods
   done


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to