|
retire-v6-ula harness + the defect it found in my own by-hand check
Operator direction: "Proceed with 1 and 2". Item 2 (the repo tool for the MAAS half) is delivered. Item 1 (the held ULA subnet) is NOT executed, and the tool is why. THE TOOL'S FIRST LIVE RUN CAUGHT A DEFECT IN THE BY-HAND CHECK USED AN HOUR EARLIER, and that is the more important finding here. It reported `interface links: subtle-grouse:enp1s0` on subnet 2. My by-hand check had reported ZERO links for all five subnets, because the subnet id was interpolated as sid="'$id'" -- the comparison ran against "'2'" and could NEVER match. A checker that could not fail, written in the same session that landed exactly that rule into script-authoring.md. CONSEQUENCE: the earlier claim that the four deletes were "proven safe twice" was HALF FALSE. The allocation count was sound; the link half was inert, so link status was UNKNOWN at the time of those deletions. THE OUTCOME WAS SAFE ANYWAY, MEASURED NOT ASSUMED: all nine role nodes read v4=6 v6=6, so every v6 link they carry is GUA and the four deleted ULA subnets genuinely held none. enp2s0 unlinked on all nine is EXPECTED (provider-public carries no L3 link; the static lands on br-ex, D-133/D-100). subtle-grouse (the controller, Deployed) reads v4=2 v6=1, its single v6 link being the ULA ::5 -- independently confirming the hold was correct. Right outcome, unsound verification; recorded as two separate facts. The mode lives in dc-plane-ipam.sh rather than a new script because dc-region-topology.sh's header already assigns v6 plane subnets to it. It refuses on an allocation OR an interface link, NAMES the holder, deletes one at a time (never looped, hard rule 3), and READS BACK that the row is gone -- R6 proves that assertion has teeth by faking a delete that returns success and leaves the row. Harness 25 -> 32 (R1-R7), delta checked. R4 is the case that matters: an interface link with NO allocation still refuses -- the exact blind spot the broken by-hand check had. ITEM 1 NOT EXECUTED: retire-v6-ula REFUSES on fd50:840e:74e2:220::/64, naming ::5 (juju-vr1-dc0), ::6 (MAAS) and the link subtle-grouse:enp1s0. Deleting it needs the juju controller's and region's v6 re-homed to GUA first -- re-addressing the DEPLOY CLIENT immediately before the deploy, and this project has already lost three bootstrap attempts to under-carved controller networking. Not covered by an approval given about four empty subnets, and NOT deploy-blocking: an extra ULA subnet in MAAS harms nothing. Gates: gauntlet ALL GREEN (98); repo-lint 0 fail; dc-plane-ipam 32/32. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/changelog-20260802-queued-items.md |
|---|
| tests/dc-plane-ipam/run-tests.sh |
|---|