diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index e7d097c..bccc1c8 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -51,10 +51,12 @@ enp3s0 metal-internal, enp4s0 data-tenant, enp5s0 storage, enp6s0 replication). **D-133 ADOPTED 2026-07-23** (flat per-NIC carve for VR1; next deployment rehearses hardware-faithful bonds/trunks). - **D-134 ADOPTED 2026-07-23** (per-role octet bands: control .10-.19, - compute .20-.49, storage .201-.254; .4-.9 utility-reserved, .50-.99 - formal VIP band; VR1 nodes: control .10-.12, compute .20-.21, - storage .201-.204, keyed by tofu name / pinned boot MAC). OPEN + **D-134 ADOPTED + AMENDED 2026-07-23** (contiguous bands, Option B: + .4-.49 utility, .50-.99 VIP, nodes one run .100-.200 (control + .100-.119, compute .120-.149, storage .150-.200), dynamic MOVES to + .201-.254 -- the carve's first gated mutation per DC. VR1 nodes: + control .100-.102, compute .120-.121, storage .150-.153, keyed by + tofu name / pinned boot MAC). OPEN decision points before their steps: deploy OS series (bundle is ubuntu@22.04/jammy; region default_distro_series=noble and ONLY noble images are synced -- capture, ibid.), per-DC artifact mirror diff --git a/docs/changelog-20260723-stage4-open.md b/docs/changelog-20260723-stage4-open.md index 7362a53..748721a 100644 --- a/docs/changelog-20260723-stage4-open.md +++ b/docs/changelog-20260723-stage4-open.md @@ -65,3 +65,20 @@ carve now unblocked on D-133 + D-134). - **Revert:** remove the D-134 block + the CURRENT-STATE bullet edit (`git revert `). + +## Item 4 -- D-134 AMENDED: contiguous band table (Option B swap) + +- Operator rejected the original table's interleaving (node roles split by the + VIP + dynamic blocks); movability analysis presented (pinned: .1/.2/.3 live, + .50-.60 bundle VIPs, FIP rows 1-3 on provider; movable: the D-120-inherited + dynamic range). Option B ruled: nodes get the contiguous .100-.200 run + (control .100-.119 / compute .120-.149 / storage .150-.200), dynamic moves + to .201-.254, utility .4-.49, VIP .50-.99. +- VR1 assignments now: control .100-.102, compute .120-.121, storage + .150-.153 (identity table unchanged -- tofu name via pinned boot MAC). +- Consequence queued: the dc0/dc1 metal-admin dynamic-range MOVE is the + carve's first gated live mutation per DC (before static assignment; nodes + powered off). Office1's own D-120 ranges untouched. +- CURRENT-STATE Stage-4 bullet updated same-commit. +- **Revert:** remove the amendment block + CURRENT-STATE edit + (`git revert `); no live state touched yet. diff --git a/docs/design-decisions.md b/docs/design-decisions.md index d1c24dd..a312db0 100644 --- a/docs/design-decisions.md +++ b/docs/design-decisions.md @@ -4555,3 +4555,38 @@ rack .2 + forwarder .3 (D-131 sub-1). Supersedes nothing: VR0's .40-.43 (D-052) stays VR0's as-built; this is the VR1+ convention. A1 test: Roosevelt greps this before assigning any node address plan. + +--- + +## D-134 -- AMENDMENT (2026-07-23): CONTIGUOUS band table (supersedes the original table) + +**Status:** RULED 2026-07-23, same session as the original entry. The operator rejected +the original table's interleaving -- exact utterance: "I want to find carves were we are +not breaking up IP addresses with other blockes in between like what is currently layed +out. Check the reservations and carves to resuffle the IP addresses and blocks in a +better order." Movability analysis presented (pinned: .1/.2/.3 live infra, .50-.60 +bundle VIP literals, FIP pool rows 1-3 on provider forcing node suffixes into row 0; +movable: the D-120-inherited dynamic range, a MAAS ip-range object, nodes powered off). +Two contiguous layouts presented; question: "Which contiguous band layout should replace +D-134's table?" Operator answer: "Option B: swap (Recommended)". + +**Superseding band table (row 0 of every VR1 DC plane /22, both DCs):** + +| Band | Purpose | +|---|---| +| .1-.3 | infrastructure: .1 gateway, .2 rack, .3 DNS forwarder (metal-admin) | +| .4-.49 | RESERVED: future per-DC utility/infra nodes (46 slots) | +| .50-.99 | VIP band (measured .50-.60 today; ~3x headroom) | +| .100-.200 | NODES, one contiguous run: control .100-.119, compute .120-.149, storage .150-.200 | +| .201-.254 | dynamic/enlistment range (MOVED from .100-.200; 54 leases) | + +VR1 assignments: control-01..03 = .100-.102, compute-01..02 = .120-.121, +storage-01..04 = .150-.153. Stable octet per node across all six planes unchanged. + +**Consequences.** The DC metal-admin dynamic ranges (dc0 10.12.8.100-200, dc1 +10.12.68.100-200 -- the D-120-INHERITED copies, ruled at Step D / dc1 standup) MOVE to +.201-.254 as the carve's first gated mutation per DC, BEFORE static assignment; done +with nodes powered off (no active leases; future enlistments indifferent to range +position). D-120's own office1 compose-net ranges (10.10.1.0/24) are UNTOUCHED -- this +amendment diverges the DC planes from the compose-net band order deliberately (nodes +mid-row, dynamic high) and is the authority for that divergence.