@@ -122,9 +122,47 @@ jobs:
122122 skip_operator_deployment : ${{ env.SKIP_OPERATOR_DEPLOYMENT }}
123123 pod_to_pod_tls_enabled : ${{ matrix.tls_enabled }}
124124
125+ - name : Wait for upgrade rollout and re-establish port-forwarding
126+ if : ${{ steps.deploy.outcome == 'success' }}
127+ id : post-upgrade-port-forward
128+ shell : bash
129+ run : |
130+ DEPLOYMENT_NAME="${{ steps.deploy.outputs.deployment_name }}"
131+ NAMESPACE="${{ env.NAMESPACE }}"
132+
133+ OLD_POD_UID=$(kubectl get pod -l app=$DEPLOYMENT_NAME -n $NAMESPACE -o jsonpath='{.items[0].metadata.uid}')
134+ echo "Current pod UID: $OLD_POD_UID"
135+
136+ echo "Waiting for operator to roll the deployment..."
137+ for i in $(seq 1 36); do
138+ NEW_POD_UID=$(kubectl get pod -l app=$DEPLOYMENT_NAME -n $NAMESPACE -o jsonpath='{.items[0].metadata.uid}' 2>/dev/null || echo "")
139+ if [ -n "$NEW_POD_UID" ] && [ "$NEW_POD_UID" != "$OLD_POD_UID" ]; then
140+ echo "New pod detected (UID: $NEW_POD_UID) after $((i * 5))s"
141+ break
142+ fi
143+ if [ $i -eq 36 ]; then
144+ echo "ERROR: Pod UID did not change after 180s — operator did not roll the deployment"
145+ exit 1
146+ fi
147+ sleep 5
148+ done
149+
150+ echo "Waiting for rollout to complete..."
151+ kubectl rollout status deployment/$DEPLOYMENT_NAME -n $NAMESPACE --timeout=300s
152+
153+ echo "Waiting for pod to be ready..."
154+ kubectl wait --for=condition=ready pod -l app=$DEPLOYMENT_NAME -n $NAMESPACE --timeout=120s --field-selector=status.phase=Running
155+
156+ echo "Killing stale port-forward processes..."
157+ pkill -f "kubectl port-forward.*8888" || true
158+ sleep 3
159+
160+ echo "Re-establishing port-forward..."
161+ ./.github/resources/scripts/forward-port.sh "$NAMESPACE" "$DEPLOYMENT_NAME" 8888 8888
162+
125163 - name : Verify Upgrade
126164 uses : ./.github/actions/test-and-report
127- if : ${{ steps.deploy .outcome == 'success' }}
165+ if : ${{ steps.post-upgrade-port-forward .outcome == 'success' }}
128166 with :
129167 test_directory : ${{ env.TESTS_DIR }}
130168 test_label : " UpgradeVerification"
0 commit comments