diff --git a/runner/harness/abra.py b/runner/harness/abra.py index 4c1a4f5..ff6e2b8 100644 --- a/runner/harness/abra.py +++ b/runner/harness/abra.py @@ -101,10 +101,14 @@ def upgrade(domain: str, version: Optional[str] = None, timeout: int = 900) -> N args = ["app", "upgrade", domain] if version: args.append(version) - # -f no prompt, -D skip public-DNS checks (our per-run domains route via the gateway), -o offline - # (use local tags — incl. the upstream tags fetched at clone — and DON'T fetch from the private - # mirror origin, which 401s). upgrade has no --chaos flag. - args += ["-f", "-D", "-n", "-o"] + # -f no prompt, -D skip public-DNS checks, -o offline (local tags, no private-origin 401), + # -c no-converge-checks: abra's convergence poll gives up too early on a slow heavy rolling + # upgrade (e.g. lasuite-docs' 9-service stop-first roll while pulling new images) and reports a + # FALSE "deploy failed" even though all services do converge. We disable abra's check and rely on + # the harness's own wait_healthy + data-survival assertion (more patient + the real test) to gate + # the upgrade. A genuinely-failed upgrade still fails the test (app never gets healthy). upgrade + # has no --chaos flag. + args += ["-f", "-D", "-n", "-o", "-c"] _run(args, timeout=timeout)