diff --git a/bundle.yaml b/bundle.yaml index cb22221..93c676b 100644 --- a/bundle.yaml +++ b/bundle.yaml @@ -74,10 +74,10 @@ # internal/shared-db/amqp/certificates/cluster/identity/ovsdb -> metal-internal # public -> provider-public (public API + floating IPs) # ceph public -> storage ; ceph cluster -> replication -# geneve overlay -> fabric-data (nova-compute:neutron-plugin, ovn-chassis:data, +# geneve overlay -> data-tenant (nova-compute:neutron-plugin, ovn-chassis:data, # ovn-chassis-octavia:data, octavia:ovsdb-cms) # Subordinate subset rule: a subordinate's spaces are a subset of its principal's; -# nova-compute keeps fabric-data (via neutron-plugin) for the ovn-chassis geneve. +# nova-compute keeps data-tenant (via neutron-plugin) for the ovn-chassis geneve. # Re-IP is MAAS-side only (no CIDR options here). See docs/design-decisions.md D-052. # ===================================================================== applications: @@ -294,7 +294,7 @@ image-service: metal-internal internal: metal-internal migration: metal-internal - neutron-plugin: fabric-data + neutron-plugin: data-tenant secrets-storage: metal-internal storage-backend: metal-internal constraints: arch=amd64 @@ -417,7 +417,7 @@ '': metal-admin amqp: metal-internal certificates: metal-internal - data: fabric-data + data: data-tenant ovsdb: metal-internal ovsdb-subordinate: metal-internal ovn-chassis-octavia: @@ -427,7 +427,7 @@ '': metal-admin amqp: metal-internal certificates: metal-internal - data: fabric-data + data: data-tenant ovsdb: metal-internal ovsdb-subordinate: metal-internal cinder: @@ -606,7 +606,7 @@ internal: metal-internal neutron-api: metal-internal neutron-openvswitch: metal-internal - ovsdb-cms: fabric-data + ovsdb-cms: data-tenant ovsdb-subordinate: metal-internal public: provider-public shared-db: metal-internal diff --git a/docs/design-decisions.md b/docs/design-decisions.md index cef464c..6f87323 100644 --- a/docs/design-decisions.md +++ b/docs/design-decisions.md @@ -794,3 +794,25 @@ **Roosevelt:** (1) dedicated, redundant corosync ring (heartbeat off the service plane); (2) dedicated live-migration plane + QEMU-native TLS; (3) revisit whether cross-DC service-to-service coordination on metal-internal warrants its own inter-DC plane. **Related:** D-051 (combined in the SAME redeploy -- RBAC is keystone-only / low blast radius); supersedes the three conflicting D-052 drafts; depends on the MAAS rename/re-IP/new-VLAN gate (R1); the regenerated bundle differs substantially from BOTH repo HEAD (old space names) and the WIP bundle.yaml (which was Option-1 scope: only `internal` on metal-internal). + +## D-053 -- Rename network space `fabric-data` -> `data-tenant` (2026-06-25) + +**Status:** ADOPTED. Naming-only change to the D-052 plane set; no architectural change. + +The geneve / tenant-overlay plane introduced as `fabric-data` in D-052 is renamed to +`data-tenant` to better fit the cloud's space-identity naming. This is a SPACE-NAME change +only: the subnet (`10.12.16.0/22`), its VLAN/fabric, the role (tenant geneve overlay), and +the *semantics* of every binding are unchanged. The four bindings that read `fabric-data` +(`nova-compute:neutron-plugin`, `ovn-chassis:data`, `ovn-chassis-octavia:data`, +`octavia:ovsdb-cms`) now read `data-tenant`; the D-052 subordinate-subset reasoning holds +verbatim with the new name substituted. + +**Order of record:** applied in MAAS first (the live space is `data-tenant`), then +propagated into `bundle.yaml` (6 occurrences: 4 bindings + 2 binding-model header-comment +lines) so Juju's space lookup matches the live MAAS space at deploy. The bundle QA harness +was updated in lockstep (`verify_bundle.py` ALLOWED set + the two `fabric-data`-in-`planes()` +assertions; `target_bindings.json` 4 values) and re-run clean (8/8). + +**Note on this log:** the D-052 entry above is left intact and still reads `fabric-data` -- +that is the historical record of the original decision; this entry records the later rename +(append-only discipline).