fix(2): lasuite-drive Q3.2a — gate upgrade redeploy on collabora-ready + plumb DEPLOY_TIMEOUT
Q3.2a run 1: Part A (install-time OIDC) GREEN — deploy-count=1, install/backup/restore/custom +
OIDC test all PASS. BUT upgrade tier FAILED: the in-place `abra app deploy --chaos` redeploy landed
on a STILL-BOOTING collabora (coolwsd ~2min boot: 1300+ l10n files + RSA keygen) and SIGTERMed it
mid-init ("Shutdown requested while starting up", forced exit 70) → abra aborted the deploy. The
install wait_healthy returns on container 1/1 while coolwsd is still loading. Fixes (plan §C
readiness-gating, no test weakened):
- tests/lasuite-drive/ops.py::pre_upgrade — wait for collabora WOPI discovery (/hosting/discovery
on collabora-<domain>) → 200 BEFORE the chaos redeploy, so it replaces a ready collabora cleanly.
- runner/harness/lifecycle.chaos_redeploy + generic.perform_upgrade + run_recipe_ci._perform_op —
plumb the recipe DEPLOY_TIMEOUT to the upgrade chaos redeploy (was abra.deploy's 900s default,
while the .env internal TIMEOUT is 1500s → Python could SIGKILL abra mid-wait on the slow
collabora/onlyoffice reconverge). Mirrors the install deploy_app timeout plumbing.
Also (operator naming change 2026-05-29): renamed `--extra-tests` -> `--extra` in DEFERRED.md +
BACKLOG-2.md Build-backlog section. 3 refs remain in BACKLOG-2 Adversary-findings section
(241/248/292, closed findings) — left for the Adversary (single-writer); orchestrator updated
IDEAS.md/plan-sso-dep-testing.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -133,7 +133,7 @@ Phase plan: `/srv/cc-ci/cc-ci-plan/plan-phase2-recipe-tests.md`
|
||||
- [ ] **Q4.7** — plausible: enroll; specific (track a test event, query it back).
|
||||
- [x] **Q4.8** — uptime-kuma: enrolled. PARITY.md + recipe_meta.py + 3 functional tests
|
||||
(health_check, socketio_handshake, spa_branding). Cold green (commit `1aaf3bd`).
|
||||
Create-a-monitor in DEFERRED.md (Socket.IO client primitive + --extra-tests; F2-10 closed).
|
||||
Create-a-monitor in DEFERRED.md (Socket.IO client primitive + --extra; F2-10 closed).
|
||||
- [ ] **Q4.9** — mailu: enroll; specific (create a mailbox, send/receive verification).
|
||||
- [ ] **Q4.10** — drone: enroll; specific (create/list builds via API).
|
||||
- [ ] **Q4.11** — Q4 gate: each recipe green with parity + specific.
|
||||
|
||||
@ -46,9 +46,9 @@ before the build is called done) — but does **not** force closure.
|
||||
tradeoff is real — too-small N loses the test's meaning (state-group bloat is by definition a
|
||||
large-state phenomenon), too-large N inflates per-run time. Defensible defer; operator-confirmed
|
||||
2026-05-28: heavier than needed for default CI.
|
||||
- **Re-entry trigger:** the `--extra-tests` opt-in flag (see linked IDEA) so this runs only when
|
||||
- **Re-entry trigger:** the `--extra` opt-in flag (see linked IDEA) so this runs only when
|
||||
the operator explicitly asks for the heavy suite; or a dedicated long-running matrix instance.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra-tests` flag for heavy/operational tests*.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra` flag for heavy/operational tests*.
|
||||
|
||||
### 2026-05-28 — matrix-synapse `test_complexity_limit.sh` port
|
||||
- [ ] **What:** Port `recipe-info/matrix-synapse/tests/test_complexity_limit.sh` — exercise Synapse's
|
||||
@ -56,8 +56,8 @@ before the build is called done) — but does **not** force closure.
|
||||
- **Filed by:** Builder, phase 2 (Q4.1 matrix-synapse PARITY pass)
|
||||
- **Reason for deferral:** Load-test class; needs many-event setup. Operator-confirmed 2026-05-28:
|
||||
more than needed for a default matrix CI test.
|
||||
- **Re-entry trigger:** the `--extra-tests` opt-in flag (linked IDEA).
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra-tests` flag for heavy/operational tests*.
|
||||
- **Re-entry trigger:** the `--extra` opt-in flag (linked IDEA).
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra` flag for heavy/operational tests*.
|
||||
|
||||
### 2026-05-28 — matrix-synapse `test_purge.sh` port
|
||||
- [ ] **What:** Port `recipe-info/matrix-synapse/tests/test_purge.sh` — exercise the recipe's
|
||||
@ -66,9 +66,9 @@ before the build is called done) — but does **not** force closure.
|
||||
- **Reason for deferral:** Recipe-helper-script tests, not synapse-behaviour tests (orthogonal to
|
||||
default Phase-2 coverage). Operator-confirmed 2026-05-28: more than needed for a default matrix
|
||||
CI test.
|
||||
- **Re-entry trigger:** the `--extra-tests` opt-in flag (linked IDEA) — so PRs touching the recipe's
|
||||
- **Re-entry trigger:** the `--extra` opt-in flag (linked IDEA) — so PRs touching the recipe's
|
||||
abra helper scripts can opt in to exercising them.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra-tests` flag for heavy/operational tests*.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra` flag for heavy/operational tests*.
|
||||
|
||||
### 2026-05-28 — matrix-synapse media upload/download roundtrip
|
||||
- [ ] **What:** Add `tests/matrix-synapse/functional/test_media_upload_roundtrip.py` exercising
|
||||
@ -118,10 +118,10 @@ before the build is called done) — but does **not** force closure.
|
||||
(parity health + Socket.IO handshake + SPA branding) cover the same handshake + bundle the
|
||||
setup-then-monitor flow would use; adding a full Socket.IO client is a substantial harness
|
||||
primitive worth deferring until either (a) another recipe also needs Socket.IO interaction or
|
||||
(b) the `--extra-tests` flag lands so this can live in `extra/`.
|
||||
- **Re-entry trigger:** the `--extra-tests` opt-in flag (linked IDEA) OR another recipe enrollment
|
||||
(b) the `--extra` flag lands so this can live in `extra/`.
|
||||
- **Re-entry trigger:** the `--extra` opt-in flag (linked IDEA) OR another recipe enrollment
|
||||
that requires Socket.IO client primitives in the harness (whichever comes first).
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra-tests` flag for heavy/operational tests*.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra` flag for heavy/operational tests*.
|
||||
|
||||
### 2026-05-28 — ghost create-a-post round-trip (§4.3 prescribed)
|
||||
- [ ] **What:** Add `tests/ghost/functional/test_post_roundtrip.py` exercising Ghost's admin setup
|
||||
@ -133,11 +133,11 @@ before the build is called done) — but does **not** force closure.
|
||||
run-scoped) + JWT token management for the admin API. The current 3 tests
|
||||
(parity health + content_api + admin_redirect) cover the same Ghost-server / API / admin-route
|
||||
surface; the create-post flow is the natural §4.3 deeper test and is doable, but adds setup
|
||||
state to manage. Reasonable to defer to the `--extra-tests` flag rollout OR a Phase-2
|
||||
state to manage. Reasonable to defer to the `--extra` flag rollout OR a Phase-2
|
||||
follow-up specifically for Q4 deeper tests.
|
||||
- **Re-entry trigger:** the `--extra-tests` opt-in flag (linked IDEA) OR a Q4 deeper-test pass
|
||||
- **Re-entry trigger:** the `--extra` opt-in flag (linked IDEA) OR a Q4 deeper-test pass
|
||||
before Phase-2 DONE if the Adversary calls for it (Phase-4 cleanup pass MUST review).
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra-tests` flag for heavy/operational tests*.
|
||||
- **Linked IDEA:** `cc-ci-plan/IDEAS.md` — *Optional `--extra` flag for heavy/operational tests*.
|
||||
|
||||
### 2026-05-28 — Q2.2 authentik enrollment + `setup_authentik_realm` SSO backend
|
||||
- [ ] **What:** Enroll authentik in cc-ci tests/ (mirror-and-enroll if not yet mirrored) + add a
|
||||
|
||||
Reference in New Issue
Block a user