diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index 62d08c5..f9bf1c4 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -2379,13 +2379,16 @@ under D-068.** OWED: D-121 execution runbook (dc1 reuse); post-wave bundle/overlay review vs the live HA installs (pinned task). Body: `docs/changelog-20260805-d121-ha-scaleup.md`. - **memcached CONFIG=3, LIVE=1 (recorded 2026-08-06, BUNDLEFIX-055 / DOCFIX-212).** Operator - ruled 2026-08-06 ("3 units (restore intent)") to restore the 2026-07-31 memcached->3 direction - that BUNDLEFIX-053 never folded and the retired `dc-ha-scaleup.yaml` had carried unrealized. - `bundle.yaml` now sets memcached `num_units:3` + `to:[lxd:0,1,2]` (3 independent caches, no - hacluster/VIP); LIVE is still 1 unit (F4 capture). A teardown+redeploy from `bundle.yaml` brings - it to 3, or a gated live `juju add-unit memcached -n 2 --to lxd:1,lxd:2` -- not done this session - (hard rule 1). This is a CONFIG-of-record vs LIVE divergence, tracked here until reconciled. + **memcached = 3 units, CONFIG and LIVE reconciled (2026-08-06, BUNDLEFIX-055 / DOCFIX-212).** + Operator ruled 2026-08-06 ("3 units (restore intent)") to restore the 2026-07-31 memcached->3 + direction that BUNDLEFIX-053 never folded and the retired `dc-ha-scaleup.yaml` had carried + unrealized. `bundle.yaml` sets memcached `num_units:3` + `to:[lxd:0,1,2]` (3 independent caches, + no hacluster/VIP), re-staged to the dc0 rack (42845edb). LIVE scale-up EXECUTED + MEASURED + (operator-approved `juju add-unit memcached -n 2 --to lxd:1,lxd:2`, capture + `docs/audit/stage5-dc0-memcached-scaleup-20260806.txt`): 3/3 active/idle, one per control node. + Consumer verify: nova-cloud-controller sees all 3 servers; designate's coordination `backend_url` + still shows ONE (memcached/0) -- designate is workload-BLOCKED pre-Stage-7, so re-check that at + designate activation (recorded, not a scale-up defect). **NAMED-GATE DEFECT found by measurement -- `phase-03-core-verify.md` Step 3.1 asserts expected non-active/idle = 1 (octavia only); the VR1 roster yields 4 deferred-by-design + gss.** That gate is STALE for VR1 and a DOCFIX is owed (also owed on that runbook: `-m openstack` -> `-m vr1-dc0` diff --git a/docs/audit/stage5-dc0-memcached-scaleup-20260806.txt b/docs/audit/stage5-dc0-memcached-scaleup-20260806.txt new file mode 100644 index 0000000..f5a4f07 --- /dev/null +++ b/docs/audit/stage5-dc0-memcached-scaleup-20260806.txt @@ -0,0 +1,17 @@ +=== memcached 1->3 LIVE scale-up, dc0, 2026-08-06T08:04:32Z (BUNDLEFIX-055; operator-approved) === +Command (dc0 rack, D-138): juju add-unit memcached -n 2 --to lxd:1,lxd:2 -m vr1-dc0 (exit 0) + +CONVERGED 3/3 active/idle (one per control node): + memcached/0* active idle 0/lxd/9 10.12.12.115 11211/tcp Unit is ready and clustered + memcached/1 active idle 1/lxd/22 10.12.12.166 11211/tcp Unit is ready and clustered + memcached/2 active idle 2/lxd/20 10.12.12.165 11211/tcp Unit is ready and clustered +memcached install was clean (no F5 apt-wedge; tiny package). + +CONSUMER VERIFY (D-121 verify-at-deploy): + nova-cloud-controller/leader nova.conf: memcache_servers = 10.12.12.115:11211,10.12.12.166:11211,10.12.12.165:11211 -> ALL 3 servers, OK + designate/leader designate.conf: backend_url = memcached://10.12.12.115:11211 -> ONE server only. + designate is workload-BLOCKED (nameservers/Stage-7), so its config is pre-activation and not + final; whether tooz coordination picks up all 3 is a Stage-7 designate-activation verify, not + a memcached scale-up defect. RECORDED, not fixed (hard rule 1). + +Rack ~/repo-stage/bundle.yaml re-staged to 42845edb (== repo HEAD, sha-verified). diff --git a/docs/changelog-20260806-stage5-dc0-f4-postwave.md b/docs/changelog-20260806-stage5-dc0-f4-postwave.md index c8e6ead..670b37f 100644 --- a/docs/changelog-20260806-stage5-dc0-f4-postwave.md +++ b/docs/changelog-20260806-stage5-dc0-f4-postwave.md @@ -131,13 +131,14 @@ (previously "the only place the exclusion set is written down") is now carried in bundle.yaml. - DOCFIX-212: `design-decisions.md` D-121 "Left single (NOT scaled)" list corrected -- memcached removed from it and recorded as =3. -- **LIVE/CONFIG GAP (recorded in CURRENT-STATE):** live memcached is still 1; config-of-record is - now 3. A teardown+redeploy from `bundle.yaml` brings it up at 3; alternatively a gated live - `juju add-unit memcached -n 2 --to lxd:1,lxd:2`. Not done live this turn (hard rule 1; no - operator instruction to mutate live). -- **Re-stage owed:** this is a FUNCTIONAL bundle.yaml change (not a comment), so the dc0 rack - staged `bundle.yaml` (754f1d9e) is now genuinely stale -- re-stage + sha-verify (gated) OR the - redeploy re-stages. Logged. +- **LIVE DEPLOY DONE (operator: "Both approved"):** `juju add-unit memcached -n 2 --to lxd:1,lxd:2 + -m vr1-dc0` (exit 0) -> 3/3 active/idle, one per control node, clean install (no F5 apt-wedge). + Capture `docs/audit/stage5-dc0-memcached-scaleup-20260806.txt`. CURRENT-STATE reconciled to + config=3/live=3. Consumer verify: nova-cloud-controller sees all 3 memcached servers; designate's + coordination `backend_url` still shows ONE (designate is BLOCKED pre-Stage-7 -- re-check at + designate activation; recorded, not a scale-up defect). +- **Re-stage DONE:** functionally-changed `bundle.yaml` re-staged to the dc0 rack (42845edb == + repo HEAD, sha-verified), so a future redeploy carries memcached=3. - Gates: gauntlet + repo-lint (see close); provider-bundle-check re-run (memcached has no hacluster/VIP/arity constraint, so the scale is orthogonal to those gates). - Revert: `bundle.yaml` memcached back to `num_units:1` + `to:[lxd:0]`; revert the D-121 DOCFIX-212 line.