Status: DECIDED (operator). Supersedes the D-057 minimal-delta placement of provider-vip at 10.12.24.0/22, and resolves R4 (oob). grep-before-assign: D-058 free (max prior D-057; D-054/055/056 are DOCFIX).
What: renumber the v1 plane scheme so CIDRs are contiguous /22 blocks grouped by fabric and ordered to match the layer model, instead of the historical scatter. This is a cloud-wide re-IP, intentionally larger than D-057, accepted by the operator for Roosevelt addressing fidelity. It is executed as a teardown/redeploy (no in-place re-CIDR), so there is no transient subnet overlap.
| Plane | old | NEW | gateway (was -> now) |
|---|---|---|---|
| provider-public | 10.12.4.0/22 | 10.12.4.0/22 | 10.12.4.1 (unchanged) |
| provider-vip | 10.12.24.0/22 | 10.12.8.0/22 | 10.12.24.1 -> 10.12.8.1 |
| metal-admin | 10.12.8.0/22 | 10.12.12.0/22 | 10.12.8.1 -> 10.12.12.1 |
| metal-internal | 10.12.12.0/22 | 10.12.16.0/22 | none (L2 east-west) |
| data-tenant | 10.12.16.0/22 | 10.12.20.0/22 | none (isolated L2) |
| storage | 10.12.32.0/22 | 10.12.32.0/22 | none (unchanged) |
| replication | 10.12.36.0/22 | 10.12.36.0/22 | none (unchanged) |
| oob | 10.12.64.0/22 | 10.12.60.0/22 | 10.12.64.1 -> 10.12.60.1 |
Rotate rule (collision-safe): 8->12, 12->16, 16->20, 24->8, 64->60; 4/32/36 fixed. VLAN IDs unchanged (metal-internal VID 103, provider-vip VID 104). VIP triple becomes provider-vip .8.5x / metal-admin .12.5x / metal-internal .16.5x (octets 50-60). Host statics (.40-.43) follow each plane. metal-admin PXE-DHCP band -> 10.12.12.9-.11.
The jumphost owns three gateways that move. provider-vip's NEW gateway 10.12.8.1 is metal-admin's OLD address. So on the jumphost, in this order:
NetBox is the apex; this renumber's authoritative home is NetBox. BUT the committed netbox/ipv4-prefixes-import.py is itself stale (pre-D-052: only Metal/Provider/LBaaS-mgmt, provider VLAN VID 240, API VIPs at .224-.254 -- none of the 6-plane D-052/053 model). It must FIRST be brought current to D-052/053, THEN carry the D-058 scheme, before it can be the source of truth. Until that reconciliation, scripts/lib-net.sh is the working contract and already carries D-058. Do NOT hand-edit downstream MAAS for these values once NetBox is current -- regenerate.
scripts/lib-net.sh (PLANE_CIDRS, PLANE_NAME, PLANE_GW, DATA_PLANE_CIDRS, METAL_INTERNAL_CIDR, PROVIDER_VIP_CIDR, VIPPREFIX* triple), scripts/carve-host-interfaces.sh, scripts/provider-vip-standup.sh, scripts/d057-bundle-check.py, bundle.yaml (11 VIP triples), both test suites + fixtures, provider-vip-maas-standup.md, jumphost-provider-vip-gateway.md, README.
Apply the same rotate (8->12, 12->16, 16->20, 24->8, 64->60; 4/32/36 fixed). These are in the committed repo, not this pack, and several are prose runbooks -- sweep with care, NetBox-anchored: