Skip to content

Commit a8e29f5

Browse files
committed
Merge remote-tracking branch 'opendatahub-io/master' into main-to-stable
2 parents 65389f7 + 3a1866e commit a8e29f5

1 file changed

Lines changed: 39 additions & 1 deletion

File tree

.github/workflows/upgrade-test.yml

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)