docs: relabel wonder-app-vd03 as DEV, not production, across plans, records, reviews and API specs
vd03 is the DEV box (vd = DEV, vq03/vq04 = QA). Historical docs called it prod/production. Only vd03-referential uses are changed; generic 'production' wording (production HOCON, production code paths, ASPNETCORE_ENVIRONMENT=Production, real-world production guidance) is unchanged. One verbatim git commit message quoted in PLAN-07 is left as recorded.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Deployment record — wonder-app-vd03 (prod single host) — 2026-08-20
|
||||
# Deployment record — wonder-app-vd03 (DEV single host) — 2026-08-20
|
||||
|
||||
Binary + schema upgrade of the single-host install at `wonder-app-vd03.zmr.zimmer.com`
|
||||
(`E:\ApiInstall\ScadaBridge`; `ScadaBridge-Central` :8085, `ScadaBridge-Site`, `ScadaBridge-LDAP`;
|
||||
|
||||
@@ -76,6 +76,6 @@ restart cleared it incidentally. A graceful gateway shutdown takes the same path
|
||||
(pinned by `MxGatewayDataConnectionReconnectTests.EventStreamGracefulCompletion_*`).
|
||||
Deployed to all four QA nodes as a binary-only swap (no migrations, no config): backups
|
||||
`app.bak.20260820T165357` / `cli.bak.20260820T165357` on both boxes; `/health/ready` 200
|
||||
Healthy, 2/2 members, site replication connected. **Not yet on prod vd03.** Live gate still to
|
||||
Healthy, 2/2 members, site replication connected. **Not yet on DEV vd03.** Live gate still to
|
||||
run: close the site's session from the gateway dashboard and confirm the site reconnects
|
||||
(`MxGateway event stream ended without a fault … signalling disconnect` → reconnect → values resume).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Deployment record — QA (wonder-app-vq03/vq04) + prod (wonder-app-vd03) — 2026-08-21
|
||||
# Deployment record — QA (wonder-app-vq03/vq04) + DEV (wonder-app-vd03) — 2026-08-21
|
||||
|
||||
Binary-only upgrade of all three ZB hosts from `da0bfe2b` to `main` @ **`691a2f2f`** (create-time
|
||||
connection bindings: Create Instance page binds module groups via `IFlatteningPipeline.PreviewAsync`,
|
||||
@@ -12,7 +12,7 @@ schema step and no DB backup. Driven entirely from psbridge on vq04; vq03 and vd
|
||||
| Publish | Host (`app\`, 520 files) + CLI (`cli\`, 223 files) `-c Release -r win-x64 --self-contained`, `scadabridge-691a2f2f.zip` 125 MB, `psbridge push --compress` (SHA-256 `c11bcf15…`). |
|
||||
| Staging | `E:\psrem\releases\691a2f2f\unpacked` on vq04; robocopy `/MIR` to `\\wonder-app-vq03\E$\psrem-stage\691a2f2f` and `\\wonder-app-vd03\E$\psrem-stage\691a2f2f` (1246 files each, ProductVersion verified before the swap). |
|
||||
| QA swap | 06:30:40 — Site pair stopped, Central pair stopped, `app`/`cli` → `app.bak.20260821T063040` / `cli.bak.20260821T063040` on both boxes, stage copied, each box's three `appsettings*.json` copied back, Central pair started, +20 s Site pair started. |
|
||||
| Prod swap | 06:33:42 — same on vd03 (single host): `app.bak.20260821T063342`, `cli.bak.20260821T063342`. |
|
||||
| DEV swap | 06:33:42 — same on vd03 (single host): `app.bak.20260821T063342`, `cli.bak.20260821T063342`. |
|
||||
| Preserved | `appsettings*.json`, service registry environment, `central\data`, `site\data` on every host. |
|
||||
|
||||
### Verification
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 2026-08-21 — QA (vq03/vq04) + prod (vd03) → `afb27e77` (template picker)
|
||||
# 2026-08-21 — QA (vq03/vq04) + DEV (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
|
||||
@@ -16,7 +16,7 @@ confirm verb pinned by test (plan `docs/plans/2026-08-21-template-picker.md`). *
|
||||
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`.
|
||||
3. **DEV 08:32** — same on vd03, backups `*.bak.20260821T083203`.
|
||||
|
||||
## Verification
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ modified except the `SimpleAlarmStatusRequest` stub (below); CvdReactor and its
|
||||
|
||||
| Object | Id | Notes |
|
||||
|---|---|---|
|
||||
| Template `TestMESReceiver` | 28 | 26 STATIC attributes with the prod MESReceiver names; ready flags default true |
|
||||
| Template `TestDelmiaReceiver` | 29 | 10 STATIC attributes with the prod DelmiaReceiver names; ReadyFlag true |
|
||||
| Template `TestMESReceiver` | 28 | 26 STATIC attributes with the real MESReceiver names; ready flags default true |
|
||||
| Template `TestDelmiaReceiver` | 29 | 10 STATIC attributes with the real DelmiaReceiver names; ReadyFlag true |
|
||||
| Template `TestMesMachine` | 30 | standalone base (not CvdReactor-derived); composes `LeftMESReceiver`/`RightMESReceiver`/`DelmiaReceiver`; Call scripts `MesMoveIn`, `MesMoveOut`, `ProcessRecipeDownload`, `AlarmStatus`; simulators `SimLeft/RightMoveIn`, `SimLeft/RightMoveOut`, `SimDelmiaRecipe` |
|
||||
| Instance `SBTEST01` | 9 | Dev Site, deployed |
|
||||
| Instance `SBTEST02` | 10 | Dev Site, deployed; alarm override `SensorFault` → MES-reportable |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 2026-09-XX — QA (vq03/vq04) + prod (vd03) → shared inbound API key store (PLANNED)
|
||||
# 2026-09-XX — QA (vq03/vq04) + DEV (vd03) → shared inbound API key store (PLANNED)
|
||||
|
||||
**Status: PLANNED — not yet run.** This record is a script for the operator to execute on the
|
||||
ZB servers and then fill in (date/time, log lines, results). Everything below the header table
|
||||
@@ -45,7 +45,7 @@ new secret is distributed.
|
||||
both boxes, staged copy in, each box's three `appsettings*.json` restored **and then edited**
|
||||
to add the `ApiKeyStore.Provider` block above, Central pair started (+20 s), Site pair started
|
||||
(+45 s).
|
||||
4. **Prod `_____`** — same on vd03 (single node): backup `*.bak.<timestamp>`, same appsettings
|
||||
4. **DEV `_____`** — same on vd03 (single node): backup `*.bak.<timestamp>`, same appsettings
|
||||
edit, Central started, no site-pair step (`vd03` central is single-node; its site pair is
|
||||
unaffected by this change and follows the same stop/start cadence as any other binary swap on
|
||||
that box).
|
||||
@@ -65,8 +65,8 @@ steps 5–6:
|
||||
| `inbound-api-keys.sqlite.imported` (+ `-wal.imported`/`-shm.imported`) present next to each QA node's data | present on both boxes | `_____` |
|
||||
| `scadabridge security api-key list` against `.2:8085` | matches `.3:8085` (same key set) | `_____` |
|
||||
| `scadabridge security api-key list` against `.3:8085` | matches `.2:8085` | `_____` |
|
||||
| Prod boot log | `Inbound API key store: imported … KeysInserted=5` for the five existing keys (`mes`, `mes api key`, `delmia-mes-receivers`, `TestKey`, `JOE_TEST_KEY`) | `_____` |
|
||||
| Prod `security api-key list` before vs. after | unchanged | `_____` |
|
||||
| DEV boot log | `Inbound API key store: imported … KeysInserted=5` for the five existing keys (`mes`, `mes api key`, `delmia-mes-receivers`, `TestKey`, `JOE_TEST_KEY`) | `_____` |
|
||||
| DEV `security api-key list` before vs. after | unchanged | `_____` |
|
||||
| Boot warning **absent** on QA post-change | (was present pre-change: `Startup configuration warning: Inbound API keys use the per-node SQLite store on a 2-node central cluster; …`) — confirm it no longer logs | `_____` |
|
||||
| Failover check, no file copy: mint a key via the active node, `curl -X POST /api/DelmiaRecipeDownload` with it aimed at the **non-active** node's port | 200, not 401 (standby relays; both nodes now verify against the same SQL rows even without a relay) | `_____` |
|
||||
| Optional real failover: stop the active node, repeat the same call against the new active | 200 | `_____` |
|
||||
@@ -91,7 +91,7 @@ on SQLite.
|
||||
## Quarantine
|
||||
|
||||
Leave the `*.imported` files in place for **30 days** after the change is confirmed stable on
|
||||
both QA and prod, then delete them (all three: `.imported`, `-wal.imported`, `-shm.imported`)
|
||||
both QA and DEV, then delete them (all three: `.imported`, `-wal.imported`, `-shm.imported`)
|
||||
from every node's data volume. Do not delete them before that window — they are the only
|
||||
rollback path for keys as of the cutover moment.
|
||||
|
||||
@@ -107,10 +107,10 @@ rollback path for keys as of the cutover moment.
|
||||
| QA start (Site, both boxes) | `_____` | vq03 + vq04 | `_____` | — |
|
||||
| QA import — first node | `_____` | `_____` | `_____` | `_____` |
|
||||
| QA import — second node | `_____` | `_____` | `_____` | `_____` |
|
||||
| Prod stop | `_____` | vd03 | `_____` | — |
|
||||
| Prod swap + appsettings edit | `_____` | vd03 | `_____` | — |
|
||||
| Prod start | `_____` | vd03 | `_____` | `_____` |
|
||||
| Prod import | `_____` | vd03 | `_____` | `_____` |
|
||||
| DEV stop | `_____` | vd03 | `_____` | — |
|
||||
| DEV swap + appsettings edit | `_____` | vd03 | `_____` | — |
|
||||
| DEV start | `_____` | vd03 | `_____` | `_____` |
|
||||
| DEV import | `_____` | vd03 | `_____` | `_____` |
|
||||
| Failover relay check (no file copy) | `_____` | `_____` | `_____` | — |
|
||||
| Optional real failover | `_____` | `_____` | `_____` takeover `_____ s` | — |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user