|
D-139 ADOPTED: VR1 goes IPv6-only east-west, whole carve moves to GUA
TWO GA-R5 rulings, taken in SEPARATE exchanges, recorded separately. A -- family matrix. Operator: "IPv6 on all planes except for metal-admin and provider-public which will remain dual stack". metal-internal, data-tenant, storage, replication and lb-mgmt become IPv6-ONLY. Amends D-101's matrix twice: metal-internal's "datastore east-west stays v4-bound" is superseded, and lb-mgmt (ruled v6-only by D-101 but NEVER carved anywhere) becomes a first-class plane. B -- addressing model. Operator: "Full GUA on every plane (Recommended)". Every plane carves from its DC's GUA /48 on the :10/:11/:20/:21/:30/:40/:50/:80 octet map VR0 DC0 and the Willamette site ALREADY use -- conforming to an existing org standard, not inventing one. The ULA /48 fd50:840e:74e2::/48 is RETIRED for VR1. Amends D-101 and D-111. Deciding reason is measurable: RFC 6724 ranks IPv4-mapped at precedence 35 and ULA at 3 while GUA falls under ::/0 at 40, so on a dual-stack plane a ULA leg LOSES address selection to IPv4 and is decorative. SEC-010, D-052, D-125 and D-107 unchanged -- containment lives at the forwarding layer. THE RECORDED ROOT CAUSE OF THE v4-ONLY CONTAINERS WAS WRONG AND THIS REPO CARRIED IT (GA-R1 C2 -- measurement corrects the document). CURRENT-STATE said MAAS "has nothing to give for v6". Measured, and re-verified independently: subnet statistics on fd50:840e:74e2:220::/64 returns available_string "100%", num_available 18446744069414584320. Zero ipranges rows means zero RESTRICTIONS, not zero availability. dc-plane-ipam.sh:368-372 has carried the correct behaviour since 2026-07-27, in the tree, contradicting the authoritative doc the whole time. The real mechanism is juju-side and there is NO knob: EthernetDeviceForBridge (tag v3.6.27) takes addrs[0] from an UNSORTED query and derives one CIDR -> one LinkSubnetArgs. gomaasapi documents "Any number of STATIC links can exist on an interface", so MAAS would accept both families; the limit is juju's. LP #1723240 is this exact symptom, Triaged/Low since 2017, and the theory this repo recorded is the one its reporter rebutted in-thread. Consequence: on a container plane DUAL-STACK IS NOT EXPRESSIBLE while v6-only IS -- ruling A is the achievable configuration, not merely the desired one. SNAP PROXY: dc0 INSTALLED, RUNNING, check dc0 PASS exit 0 (16 assertions, re-verified independently). A REAL SNAP PAYLOAD WAS FETCHED THROUGH IT -- HTTP 206, first bytes hsqs. No longer fixture-green. BUG-3 confirmed by measurement, no assertion changed. BUG-4 fixed at BOTH sites (the review named one); T20b/T41b NEW. OWNED: my BUG-1 fix was WRONG. ip route get 10.12.8.4 -> src 10.12.8.2; .4 is a SECONDARY and Linux never auto-selects a secondary as a source, so the rule is still dead. Not fixed now -- editing the generator turns the LIVE gate red until install re-runs. T23b annotated so nobody "fixes" the test to a wrong value. Generalisable: any ACL keyed to a service ALIAS (the whole D-134 utility .4 band) misses that host's own traffic -- same exposure in dc-mirror.sh, dc-cache-proxy.sh. OWED, unverified: the deployed jammy /etc/gai.conf, which can override the RFC 6724 default table that ruling B rests on. Nothing of D-139 is executed. repo-lint 0 fail; tests/dc-snap-proxy 55/55; 4 mutations killed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/audit/apex-ipv6-plan-20260731.txt 0 → 100644 |
|---|
| docs/audit/dc0-snap-proxy-install-20260731.txt 0 → 100644 |
|---|
| docs/changelog-20260731-snap-proxy-apply-ipv6.md 0 → 100644 |
|---|
| docs/design-decisions.md |
|---|
| scripts/dc-snap-proxy.sh |
|---|
| tests/dc-snap-proxy/run-tests.sh |
|---|