|
dc-node-carve: convert the commissioning auto link, found by a live dry-run
The first live plan refused enp1s0 on every machine: it holds an `auto` link on metal-admin out of enlistment, and the "wrong address on the right subnet is a FAILURE" rule was too broad. A commissioning link is the expected starting state, not a conflict -- so the tool could not carve the metal-admin leg at all. Narrowed BY MODE: auto/dhcp/link_up gets unlinked and re-created as STATIC (MAAS will not convert a link's mode in place); a `static` link with the wrong address is still refused, because something deliberate put it there. The `raw` fixture modelled the auto link correctly -- what was missing was any assertion that `apply` over the raw state EXITS 0. T21-T24 only grepped for planned strings, so a refusal on the very first NIC read as green. T26/T27 now cover both directions and both are mutation-proven. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/changelog-20260730-dc0-node-carve.md |
|---|
| scripts/dc-node-carve.sh |
|---|
| tests/dc-node-carve/run-tests.sh |
|---|