docs(rollout): add SPA-rollout runbook to prevent two-build LB skew (MAPPS-315) #369
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/MAPPS-315-spa-rollout-runbook"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Captures the procedure that keeps the load balancer from serving two different mokosh-www builds at once, the root cause behind the MAPPS-315 sidebar/Settings inconsistency.
The skew happens when the LB fronts more than one replica pulling a floating
:latesttag: a rolling restart re-pulls the new digest on one replica while the other lags on the old one, so navigation differs per request (missing/extra ADMIN section,/settingsmisroute in the stale bundle) until the second restart lands. The/settingsroute is already declared, so its misroute is a stale-bundle symptom, not a missing route.The fix lives in the deployment repo (
NiceGuyIT/docker, per dev-docs/milestone-1-handoff.md): pin a versioned:vX.Y.Zimage tag per deploy indocker/server/<host>/mokosh-apps/compose-variables.yml(mirroring nc-01's existing pin) so a rollout flips every replica to the same immutable digest in lockstep. The runbook documents the pin, the pull-then-up lockstep sequence, and a curl loop that verifies every replica returns the same_mokosh_config.jsbuild_sha. Indexed in dev-docs/README.md.This satisfies AC3 (the runbook) in mokosh-apps; AC1/AC2 execute against the deployment repo per the runbook, and AC4 needs no code change.
#MAPPS-315