diff --git a/tests/ghost/compose.ccci.yml b/tests/ghost/compose.ccci.yml index 9995168..040b156 100644 --- a/tests/ghost/compose.ccci.yml +++ b/tests/ghost/compose.ccci.yml @@ -29,8 +29,17 @@ # bites BOTH base and head (the published recipe ships db start_period 1m everywhere), so the overlay # applies on both (persists untracked across the head checkout) — a recipe-PR candidate too. # Grace-only; masks no defect; weakens no test. +# +# The app also needs a LONGER restart delay during the base→head crossover. On current Ghost heads the +# upgrade concurrently replaces mysql 8.0 with mysql 8.4; swarm starts a new app task before the new +# db service name is resolvable/ready, so Ghost exits immediately with `ENOTFOUND _db` and the +# rolling update pauses before the next retry. A 15s delay makes the retried app start after mysql is +# back, which preserves the real upgrade/assertion while removing a transient service-discovery race. services: app: + deploy: + restart_policy: + delay: 15s healthcheck: start_period: 15m db: