diff --git a/docs/deployment/deployment-records/2026-08-21-zb-servers-afb27e77.md b/docs/deployment/deployment-records/2026-08-21-zb-servers-afb27e77.md new file mode 100644 index 00000000..8867eabd --- /dev/null +++ b/docs/deployment/deployment-records/2026-08-21-zb-servers-afb27e77.md @@ -0,0 +1,37 @@ +# 2026-08-21 — QA (vq03/vq04) + prod (vd03) → `afb27e77` (template picker) + +**Build:** `main` @ `afb27e77` (= `origin/main`), ProductVersion `1.0.0+afb27e77803b0ef775ce7202df1a04fe36e7889e`. +**Delta from the boxes' previous build `691a2f2f`:** Central UI only — Create Instance picks its +template from the Templates folder tree (`TemplatePickerDialog`, `TemplateFolderTree.RevealKeys`, +`?templateId=` preselect), Templates tree context menu "New Instance…" (Deployer-gated), Disable +confirm verb pinned by test (plan `docs/plans/2026-08-21-template-picker.md`). **No EF migrations** +(`git diff --stat 691a2f2f..afb27e77 -- '*Migrations*'` empty) → binary-only swap, no DB step. + +## Procedure (same recipe as `2026-08-21-zb-servers-691a2f2f.md`) + +1. `dotnet publish` Host + CLI `-c Release -r win-x64 --self-contained true`; zip (125 026 301 B, + SHA-256 `9b73e94c…`); `psbridge push --compress` to vq04 `E:\psrem\releases\afb27e77\scadabridge.zip` + (digest verified, committed=true); Expand-Archive; robocopy `/MIR` to `\\vq03\E$\psrem-stage\afb27e77` + and `\\vd03\E$\psrem-stage\afb27e77` (520 top-level app files each, version checked). +2. **QA 08:29** — Site pair stopped, Central pair stopped (both boxes together), `app`/`cli` renamed to + `*.bak.20260821T082917`, staged copy in, each box's three `appsettings*.json` restored, + Central pair started (+20 s), Site pair started (+45 s). +3. **Prod 08:32** — same on vd03, backups `*.bak.20260821T083203`. + +## Verification + +| Endpoint | Result | +|---|---| +| 10.220.158.2:8085 / :8084 (vq03) | 200 Healthy, members=2 | +| 10.220.158.3:8085 / :8084 (vq04) | 200 Healthy, members=2 | +| vd03 localhost:8085 / :8084 | 200 Healthy, members=1 | + +Post-swap ERR/FTL scan: vq03 0/0; vq04 central 1 (first-probe `member status: Removed`), vq04 site +3 (the known cosmetic `[FTL] host terminated unexpectedly` on the **outgoing** 691a2f2f process at +08:29:57 during the stop window + two first-probe `Removed`); vd03 1/1 (first-probe `Removed`). +No new signatures. + +## Rollback + +Per host, services stopped pair-wise: rename `app` → `app.failed`, `app.bak.20260821T08…` → `app` +(and `cli.bak…` → `cli`), start Central then Site. No DB rollback needed.