|
dc1 full mirror REMOVED (D-135 amendment); dc-cache-proxy.sh now owns its net layer
Operator clarified intent, exact utterance: "DC0 is the test of a full mirror. DC1 is the test of the mirror proxy. DC1 needed the partially created full mirror and associated script/files/settings removed." Recorded as a D-135 AMENDMENT 2026-07-27 -- the per-DC split is the DELIBERATE EXPERIMENT, not an interim state. That supersedes both the "PAUSED ... kept dormant as the fallback" record and the "DC1's proxy is REPLACED by a full mirror afterward" claim, which sat in THREE places (D-135, CURRENT-STATE:109, dc-cache-proxy.sh:6); all corrected. dc0 FIRST (gated): sync re-run -> OK 2026-07-27T08:43:46Z ubuntu=0 uca=0 in 20s, confirming the transient-500 diagnosis. The fixed check now reports PASS -- trustworthy precisely because the same check FAILED on the same rack twenty minutes earlier. Stage 4 DoD bullet 5 is now MET for both DCs (dc0 mirror PASS, dc1 proxy PASS), node-side half at G17. WHY THE ORDER MATTERED. Asked to weigh rip-down-and-rebuild against surgical removal, the rebuild path turned out to be BLOCKED, not merely slower: dc-cache-proxy.sh did not own its utility net layer -- it REUSED dc-mirror.sh's <site>-mirror-net.service and refused to install without it. So on dc1, whose ruled path is the PROXY, three files named dc1-mirror-* (net unit, apply helper, resolved DNS drop-in) were load-bearing FOR THE PROXY. Consequences: the recorded removal procedure would have silently killed the proxy, the bullet-5 PASS and the Stage-5 dc1 apt path; and the proxy could not be REBUILT afterward, since nothing but `dc-mirror.sh install` created the net layer -- rebuilding a PROXY meant reinstalling the whole MIRROR apparatus, enabled daily debmirror timer included. Operator direction: net layer first, then rip it all down. 1. NET LAYER MOVED: <site>-cache-proxy-net.service + -net-apply + its own resolved drop-in, reusing dc-mirror's proven mechanism (bridge from the libvirt net NAME at runtime, hard rule 3). Proxy-named so a proxy-only DC has NO mirror-named dependency. Idempotent replace verbs, so both net units coexist safely where a site runs both -- dc0 unaffected. check asserts the ARTIFACTS, not just the live address/route: asserting only the live effect would PASS while the layer was really the mirror's, which is the exact failure. Harness 20/20 (was 15). T12 REPLACED not deleted -- it asserted the superseded design, so it failed by design; now inverted, plus T12b-T12f. T12b is scoped to non-comment lines on purpose: the header's account of the removed trap cites dc-mirror.sh install, and deleting that history to satisfy a grep would lose why the trap existed. 2. INDEPENDENCE PROVEN BEFORE DELETING: a oneshot with RemainAfterExit=yes does not undo its work on stop, so stopping the mirror unit would have proven nothing. Removed the live state outright (addr count -> 0, default route count -> 0), applied the proxy-owned unit ALONE, both restored; check dc1 PASS with dc1-mirror-net.service disabled. 3. WHOLESALE REMOVAL: all mirror units, timer, sync helper, nginx vhost, resolved drop-in, the debmirror package, and 330G of partial mirror (33,037 files, rm -rf 47.6s; disk 339G -> 9.0G). Zero mirror-named residue, every proxy artifact present, proxy PASS throughout and never down. Capture docs/audit/dc1-mirror-teardown-20260727.txt. nginx left installed deliberately: a mirror prereq, but with the vhost gone it is a generic server on its stock default vhost; removing the metapackage while nginx-core runs is a half-measure and a full purge is scope creep on a rack host. Gauntlet ALL GREEN (81), repo-lint 0-fail, dc-cache-proxy 20/20, dc-mirror 24/24. Revert: `dc-mirror.sh install dc1` (needs debmirror reinstalled) then `sync dc1` to re-pull ~950G; git revert dc-cache-proxy.sh + harness to restore the mirror-owned layer. The 330G partial is NOT recoverable -- deliberately, per the amendment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/audit/dc1-mirror-teardown-20260727.txt 0 → 100644 |
|---|
| docs/changelog-20260727-creds-consolidation.md |
|---|
| docs/design-decisions.md |
|---|
| scripts/dc-cache-proxy.sh |
|---|
| tests/dc-cache-proxy/run-tests.sh |
|---|