diff --git a/CHANGELOG.md b/CHANGELOG.md index 93c48e90..5f410c55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +- Fix: a rollback now diagnoses the failed deployment before deleting it. The hints step ran after the deletion, so it never found the pods it inspects and every rollback ended with the same generic "Application Startup Issue Detected" text, even when nothing had failed to start. Rollbacks now surface the actual reason (image pull error, crash loop, OOM, failed health check) when there is one. ## [1.14.0] - 2026-08-03 - k8s scope deployments now report launched and healthy instance counts, so the deployment page shows live "X/Y launched" and "X/Y healthy" progress diff --git a/k8s/deployment/workflows/rollback.yaml b/k8s/deployment/workflows/rollback.yaml index 96c2b1c4..08568cf4 100644 --- a/k8s/deployment/workflows/rollback.yaml +++ b/k8s/deployment/workflows/rollback.yaml @@ -78,6 +78,14 @@ steps: - name: SERVICE_TEMPLATE_PATH type: file file: "$OUTPUT_DIR/service-$SCOPE_ID-$DEPLOYMENT_ID.yaml" + # Diagnose BEFORE deleting: the hints read the failed deployment's pods + # (kubectl get pods -l deployment_id=$DEPLOYMENT_ID). Running this after the + # delete step below always found nothing, so every rollback fell through to + # the generic "Application Startup Issue Detected" text regardless of why the + # rollback happened — or whether anything had failed at all. + - name: print_deployment_error_hints + type: script + file: "$SERVICE_PATH/deployment/print_failed_deployment_hints" - name: delete deployment type: script file: "$SERVICE_PATH/apply_templates" @@ -90,6 +98,3 @@ steps: file: "$SERVICE_PATH/deployment/delete_cluster_objects" configuration: DEPLOYMENT: green - - name: print_deployment_error_hints - type: script - file: "$SERVICE_PATH/deployment/print_failed_deployment_hints"