Date: 2026-08-10. Status: FINDINGS ONLY (GA-R5 -- nothing ruled, nothing built). Records under D-144; CORRECTS the pass5 note (ipv6-unlock-design-note-20260810.md), which relied on prior rulings for the links that had them instead of assessing feasibility fresh.
Why this pass exists (operator, 2026-08-10): "the object of this review was not to follow what was previously ruled but to take a fresh look at whether or not IPv6 was feasible on any of the links that had had previous rulings or decisions or testing attached to them." Pass5 did NOT do that for the ruled links -- it cited D-101/D-139 ("PXE is v4-first", "provider-public dual-stack because the internet is v4") as the answer, and explicitly punted the researchable question ("do not import outside knowledge"). This pass researches actual platform capability, against the DEPLOYED versions (MAAS 3.7.2, Juju 3.6.27, Caracal 2024.1, OVN 24.03.2, OPNsense 26.7, Ceph Reef-era), with real upstream citations. Per-link detail + URLs: pass6-w1-maas-ipv6-feasibility.md, pass6-w2-openstack-ipv6- feasibility.md, pass6-w3-juju-charm-ceph-feasibility.md.
The two "forced-v4 anchors" pass5/D-101/D-139 leaned on do NOT hold up as feasibility statements -- both were judgements or conflations, not measured infeasibility:
| Link (had a prior ruling/decision) | FRESH verdict (ruling-independent) | Real blocker / work | vs the prior position |
|---|---|---|---|
| metal-admin: DHCPv6 commissioning | FEASIBLE-WITH-WORK | no MAAS-side blocker @3.7.2 (the 2 historical bugs closed 2017/3.1); owed a live test | CHALLENGES D-101 "PXE v4-first" |
| metal-admin: UEFI HTTP boot over v6 | FEASIBLE-WITH-WORK | firmware supports it; boot path not doc-confirmed end-to-end | CHALLENGES |
| metal-admin: legacy-BIOS PXE over v6 | INFEASIBLE | firmware (Intel Boot Agent / PXE-2.1 is v4-only) -- but applies ONLY to legacy-BIOS-mode nodes, NOT UEFI | NARROWS the ruling to a firmware-mode edge case (our VMs are UEFI by choice) |
| MAAS rack<->region RPC over v6 | FEASIBLE-NOW | MAAS source prefers AF_INET6; the one bug (LP#2020142) fixed in 3.5.0, before 3.7.2 |
CHALLENGES |
| provider-public external over v6 | FEASIBLE-NOW | direct GUA routing, no NAT, no floating IP -- FIP is simply the wrong model for v6 | CHALLENGES D-139 "dual-stack because internet is v4" (a conflation -- see below) |
| Octavia LB VIP over v6 | FEASIBLE-NOW | vip_subnet_id takes v6 natively (Caracal) |
-- |
| API VIP (hacluster) over v6 | FEASIBLE-WITH-WORK | ONE charm bug: hard-coded ip_version: ipv4 in the corosync template (LP#2111852, fix committed, unreleased) -- not a corosync/platform limit |
NARROWS D-141/pass5 "v6 stack not ready" |
| container-hosted API-charm VIP over v6 | INFEASIBLE (today) | juju LP#1723240 -- live-verified still Triaged/Low, unfixed in 3.6.27 and 4.0 |
CONFIRMS D-141's core premise |
| core charm IPv6 endpoint binding | FEASIBLE-WITH-WORK | v6-capable; gated by LP#1723240 + charm gates (ceph-osd LP#2109798 New; ceph-mon/hacluster fix-committed) | MATCHES the repo's existing table |
| simulated-ISP uplink edge over v6/dual | FEASIBLE-WITH-WORK | OPNsense 26.7 needs zero work (native dual-stack); gap is repo-side (site-wan module is v4-only NAT); correct v6 model is routed, not NAT66 |
CHALLENGES "forced v4" (it's a build choice, not a capability limit) |
| Ceph cross-DC replication over v6 (DEC-24 leg) | FEASIBLE-WITH-WORK | new constraint: Ceph binds one family per daemon (ms_bind_ipv6/ms_bind_ipv4), so v6 needs the WHOLE cluster single-family, not just the replication leg |
NEW -- pass5/repo left this UNASSESSED |
| OVN data-plane IPv6 (internal ref doc) | FEASIBLE (already proven) | the repo's OWN geneve-over-v6 audit (2026-08-09) proved VM->VM v6 geneve 8/8 0% loss | STALE INTERNAL DOC: charm-ip-family-compatibility.md still says "No" -- never reconciled |
addrs[0]); still open in 3.6.27. D-141's v4-active/v6-reserved holds for THAT specific case. (Note: this is the LXD API-charm container layer -- unrelated to D-144's containment-VM elimination.)IPv6 does not use floating IPs at all -- direct GUA routing is the native v6 model, not a lesser substitute. The prior "provider-public must be dual-stack because the internet is v4" conflated two different things: (a) the provider network's ADDRESS FAMILY (can be v6-native today) and (b) EXTERNAL v6 INTERNET reachability (genuinely deferred). (a) is feasible now; only (b) forces a v4 presence, and only for actual internet egress.
charm-ip-family-compatibility.md's OVN "No" row against the repo's own geneve proof; and soften D-101's absolute "PXE is v4-first" to the researched reality (legacy-BIOS-only firmware limit + owed UEFI-v6 test) so a future session does not inherit the overstatement.Every "FEASIBLE-NOW/WITH-WORK" here is a CAPABILITY finding cited to upstream docs/source/bug-trackers for the deployed versions -- NOT a live proof on this cloud. Where a live test is the last mile (DHCPv6 commissioning, UEFI-v6 boot), it is named as owed. This pass corrects the METHODOLOGY error of pass5 (citing rulings as feasibility); it does not itself execute or rule.